web-dev-qa-db-fra.com

Comment nommer des fichiers image sur un site multilingue?

J'ai un site avec deux langues: anglais et espagnol par exemple. Quelle serait la convention appropriée pour nommer les fichiers image?

De mon point de vue, il serait stupide de dupliquer une image puis de la nommer en fonction du site sur lequel elle sera téléchargée. Ce serait un gaspillage de ressources à l'OMI et un travail inutile à faire.

Que penses-tu de celui-ci?

6
RhymeGuy

Si la duplication de l'image est vraiment inutile, vous pourriez peut-être encore avoir le meilleur des deux mondes ... stockez l'image une seule fois, mais faites-la référencer par différents noms de fichiers, pour les différentes langues - en utilisant mod_rewrite (Apache) et une réécriture interne.

Basé sur l'exemple de unor:

  • example.net/img/en/house.png
  • example.net/img/es/casa.png

Ceux-ci seraient réécrits en interne pour envoyer une demande à votre script côté serveur:

  • imgScript.php? file = fr/house.png
  • imgScript.php? file = es/casa.png

Votre script sait servir la même image pour les deux fichiers demandés, éventuellement avec un simple tableau associatif de recherche:

array (
  'en/house.png' => 'real/path/to/my-house-pic.png',
  'es/casa.png' => 'real/path/to/my-house-pic.png',
  // etc.
);

Cette méthode vous permet de servir des images différentes pour certains fichiers si vous le souhaitez.

3
MrWhite

Deux solutions qui ne nécessitent pas de changement de nom de fichier mais donnent un chemin de fichier différent:

  1. Créez différents domaines qui transfèrent vers le même répertoire, où le site détecte ensuite la langue et les serveurs corrigent les chemins/le contenu du site. par exemple. website.es extrairait le contenu de website.com afin que website.com/picture.jpg devienne website.es/picture.jpg

  2. De même, utilisez des sous-domaines sur le site principal (pour moi, il s'agit du premier site et généralement de la langue du propriétaire du site/administrateur principal), tel que es.website.com et dk.website.com (c'est moins cher aussi :)) et utilisez la même approche que ci-dessus, tirant le site d'un répertoire et obtenant des URL spécifiques à une langue comme es.website.com/picture.jpg

Ce que ces deux solutions n’offrent pas, c’est un nom de fichier significatif, comme l’a indiqué le répondeur précédent table.jpg ou mensa.jpg

Toutefois, l'utilisation d'informations méta telles que les balises alt et title, sans parler du contenu environnant et de la déclaration de la langue de la page sur laquelle se trouve le fichier, compensera. Également avec les deux solutions ci-dessus, vous pouvez définir la géolocalisation de l'URL du site (et du contenu) dans Google Webmaster Tools.

Cela ressemble à beaucoup de travail, mais si vous utilisez un CMS populaire, il existe des plugins pour cela.

2
S..

Eh bien, il y a 4 façons de ne pas dupliquer vos images:

  • en anglais (house.png)
  • en espagnol (casa.png)
  • en anglais et en espagnol (house_casa.png ou casa_house.png)
  • pas de contenu linguistique: numéro d'identification (alpha-) numérique, date (2012-09-25.png, 123.png,…)

Mais je les dupliquerais. Les images sont des contenus tels que texte, PDF, vidéos, audio,…, aussi. Donc, en général, vous avez probablement (ou avez besoin) d’une infrastructure qui vous permet de fournir des fichiers multimédias traduits. Bien sûr, il existe des fichiers multimédias qui n'ont pas besoin de traduction (films muets, photographies sans informations textuelles, etc.), mais j'aime les considérer comme des exceptions (peu importe qu'ils soient réellement).

Alors j'irais avec (même si les images seraient les mêmes):

  • example.net/en/house.png
  • example.net/es/casa.png
1
unor