2009-05-07 12 views
1

Ich habe einige statische Ressourcen (Bilder und HTML-Dateien), die lokalisiert werden. Eine Software, die ich gesehen habe, ist Apache, die das Gebietsschema an den Namen anhängt; zum Beispiel test_en_US.html oder test_de_CH.html. Ich frage mich, ob dieses Benennungsschema als Standard gilt oder ob es bei jedem Projekt anders ist.Gibt es eine Namenskonvention für länderspezifische statische Dateien?

Antwort

8

Zwar gibt es keine dokumentierten ist Standard für die Benennung Lokalisierte Dateien, würde ich empfehlen das Format Dateinamen mit [_language [_country]] wo

  • Sprache ist die ISO-639 2 Buchstaben bestehenden Sprachcode
  • Gebiet ist der ISO-3166 2 Ländercode

Zum Beispiel:

  • MYFILE.TXT (nicht lokalisierte Datei)
  • myFile_en.txt (lokalisiert für globale Englisch)
  • myFile_en_US.txt (lokalisiert für US-Englisch)
  • myFile_en_GB.txt (lokalisiert für britisches Englisch)

Warum? Dies ist das typischste Format, das von Betriebssystemen, Globalisierungswerkzeugen (wie Trados und WorldServer) und Programmiersprachen verwendet wird. Wenn Sie also keine besondere Vorliebe für ein anderes Format haben, sehe ich keinen Grund, von dem abzuweichen, was die meisten anderen tun. Es kann Ihnen einige Integration Kopfschmerzen auf der Straße sparen.

1

Während es keine Standardkonventionen wie gibt, wo im Dateinamen, um sie zu platzieren, sind die internationalen Codes für Sprache (zB "en") und Region (zB "en-US") beide sehr häufig und sehr unkompliziert. Variationen ich gesehen habe, mit Ausnahme von "enUS" vs. "en_US" vs. "enUS":

  • foo.enUS.ext
  • foo.ext_enUS
  • enUS.foo.ext
  • foo/enUS.ext
  • enUS/foo.ext
  • ... bis zum Überdruss

ich persönlich favo r die erste und letzte Variante. Ersteres zum Gruppieren von Dateien nach Name/Ressource (gut für Situationen, in denen eine begrenzte Anzahl von Dateien lokalisiert werden muss) und letztere zum Gruppieren von Dateien nach Gebietsschema (besser für Situationen mit einer großen Anzahl von lokalisierten Dateien).

0

Sie sollten immer den "de-facto" -Standard verwenden, bei dem es sich um den Unix/Posix-Weg mit handelt. Und Sie sollten verwenden, um Ihre Lokalisierung zu machen!

daher eine und einzige richtige Weg ist, wie diese Lokalisierung Namensgebung zu verwenden:

en 
en_US 
en_UK 

Einige Anwendungen und vor allem Java-Entwickler ar manchmal die en-US (Bindestrich statt als unterstrichene) verwendet und es ist alles falsch !!!

gettext Standard ist dies und nur dies:

locale 
|_en_US 
    |_LC_MESSAGES 
     |_appname.mo 

Wo:

locale - Name des Verzeichnisses, variieren kann, aber es ist stark mit "locale" zu bleiben empfohlen -name

- Jedes Standardgebietsschema wie * es_ES *, * es_PT *, ...

LC_MESSAGES - obligatorisch und kann nicht c erhängt!

appname.mo - msgfmt kompilierte appname.po Datei (Anwendungsname ist, was immer Sie wollen)

Verwandte Themen