¿Existe una convención de nomenclatura para archivos estáticos específicos de la localidad?

StackOverflow https://stackoverflow.com/questions/836983

  •  10-07-2019
  •  | 
  •  

Pregunta

Tengo algunos recursos estáticos (imágenes y archivos HTML) que se localizarán. Una pieza de software que he visto hacer esto es Apache, que agrega la configuración regional al nombre; por ejemplo, test_en_US.html o test_de_CH.html . Me pregunto si este esquema de nombres se considera estándar o si cada proyecto lo hace de manera diferente.

¿Fue útil?

Solución

Si bien no existe un estándar documentado para nombrar archivos localizados, recomendaría usar el formato nombre de archivo [_language [_country]] where

  • idioma es el ISO-639 código de idioma de 2 letras
  • territorio es el ISO-3166 código de país de 2 letras

Por ejemplo:

  • myFile.txt (archivo no localizado)
  • myFile_en.txt (localizado para inglés global)
  • myFile_en_US.txt (localizado para inglés de EE. UU.)
  • myFile_en_GB.txt (localizado para inglés del Reino Unido)

¿Por qué? Este es el formato más típico utilizado por los sistemas operativos, las herramientas de globalización (como Trados y WorldServer) y los lenguajes de programación. Entonces, a menos que tenga una afición particular por un formato diferente, no veo ninguna razón para desviarse de lo que la mayoría de las personas están haciendo. Puede ahorrarle algunos problemas de integración en el futuro.

Otros consejos

Si bien no aparece una convención estándar en cuanto a dónde en el nombre del archivo para colocarlos, los códigos internacionales de idioma (por ejemplo, " en ") y región (por ejemplo, " en -US ") son muy comunes y muy directos. Variaciones que he visto, excluyendo " enUS " vs. " en_US " vs. " en-US " ;:

  • foo.enUS.ext
  • foo.ext_enUS
  • enUS.foo.ext
  • foo / enUS.ext
  • enUS / foo.ext
  • ... ad nauseum

Personalmente estoy a favor de la primera y última variante. El primero para agrupar archivos por nombre / recurso (bueno para situaciones en las que se necesita localizar un número limitado de archivos) y el último para agrupar archivos por configuración regional (mejor para situaciones con una gran cantidad de archivos localizados).

Siempre debe usar el " de facto " estándar, que es la forma unix / posix con gettext . ¡Y deberías usar gettext para hacer tu localización!

Por lo tanto, una y única forma correcta es usar nombres de localización como este:

en
en_US
en_UK

Algunas aplicaciones y especialmente los desarrolladores de Java a veces usan el en-US (con guión en lugar de subrayado) y ¡TODO ESTÁ INCORRECTO!

el estándar gettext es esto y solo esto:

locale
 |_en_US
    |_LC_MESSAGES
      |_appname.mo

Dónde:

locale : el nombre del directorio puede variar, pero se recomienda permanecer con " locale " -name

en_US : cualquier configuración regional estándar como * es_ES *, * es_PT *, ...

LC_MESSAGES : ¡obligatorio y no se puede cambiar!

appname.mo - msgfmt compiló el archivo appname.po (appname es lo que quiera)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top