/ / Existe uma convenção de nomenclatura para arquivos estáticos específicos ao código do idioma? - internacionalização, localidade

Existe uma convenção de nomenclatura para arquivos estáticos específicos de localidade? - internacionalização, localidade

Eu tenho alguns recursos estáticos (imagens e arquivos HTML) que serão localizados. Um software que eu já vi fazer isso é o Apache, que anexa o código do idioma ao nome; por exemplo, test_en_US.html ou test_de_CH.html. Estou me perguntando se esse esquema de nomenclatura é considerado padrão ou se todo projeto o faz de maneira diferente.

Respostas:

8 para resposta № 1

Embora não haja um padrão documentado para nomear arquivos localizados, eu recomendo usar o formato nome do arquivo [_language [_country]] Onde

  • linguagem é a ISO-639 Código de idioma de 2 letras
  • território é o ISO-3166 Código do país com 2 letras

Por exemplo:

  • myFile.txt (arquivo não localizado)
  • myFile_en.txt (localizado para o inglês global)
  • myFile_en_US.txt (localizado em inglês dos EUA)
  • myFile_en_GB.txt (localizado em inglês do Reino Unido)

Por quê? Este é o formato mais típico usado por sistemas operacionais, ferramentas de globalização (como Trados e WorldServer) e linguagens de programação. Portanto, a menos que você tenha uma preferência especial por um formato diferente, não vejo razão para se desviar do que a maioria das outras pessoas está fazendo. Isso pode poupar algumas dores de cabeça de integração no caminho.


1 para resposta № 2

Embora não pareça haver convenções padrão quanto a Onde no nome do arquivo para colocá-los, o internacionalos códigos de idioma (por exemplo, "en") e região (por exemplo, "en-US") são muito comuns e simples. Variações que eu já vi, excluindo "enUS" vs. "en_US" vs. "en-US":

  • foo.enUS.ext
  • foo.ext_enUS
  • enUS.foo.ext
  • foo / pt.ext
  • enUS / foo.ext
  • … Ad nauseum

Pessoalmente, sou a favor da primeira e da última variantes. O primeiro para agrupar arquivos por nome / recurso (bom para situações em que um número limitado de arquivos precisa ser localizado) e o último para agrupar arquivos por local (melhor para situações com um grande número de arquivos localizados).


0 para resposta № 3

Você sempre deve usar o padrão "de fato", que é a maneira unix / posix com gettext. E você deve usar gettext para fazer sua localização!

Portanto, uma e única maneira correta é usar a nomeação de localização como esta:

en
en_US
en_UK

Algumas aplicações e, especialmente, desenvolvedores Java, às vezes usam o en-US (hifenizado em vez de sublinhado) e está TODO ERRADO !!!

O padrão gettext é este e somente isso:

locale
|_en_US
|_LC_MESSAGES
|_appname.mo

Onde:

locale - O nome do diretório pode variar, mas é altamente recomendável permanecer com o nome "locale"

en_US - Qualquer localidade padrão como * es_ES *, * es_PT *, ...

LC_MESSAGES - obrigatório e não pode ser alterado!

appname.mo - arquivo compilado appname.po msgfmt (appname é o que você quiser)