Frage

Ich habe einige statischen Ressourcen (Bilder und HTML-Dateien), die lokalisiert werden. Ein Stück Software, die ich habe gesehen zu tun ist, Apache, die das Gebietsschema auf den Namen anhängt; beispielsweise test_en_US.html oder test_de_CH.html. Ich frage mich, ob dieses Benennungsschema Standard betrachtet wird, oder ob jedes Projekt macht es anders.

War es hilfreich?

Lösung

Zwar gibt es keinen dokumentierten Standard ist Lokalisierte Dateien für die Namensgebung, würde ich mit dem Format empfehlen Dateiname [_language [_country]] , wobei

  • Sprache ist der ISO-639 2 Buchstaben bestehenden Sprachcode
  • Gebiet ist die 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 typische Format von Betriebssystemen, die Globalisierung Tool (wie Trados und Worldserver) und Programmiersprachen. Also, wenn Sie eine besondere Vorliebe für ein anderes Format haben, sehe ich keinen Grund, von dem abzuweichen, was die meisten anderen Leute tun. Es kann Ihnen einige Integration Kopfschmerzen die Straße hinunter speichern.

Andere Tipps

Während es scheint nicht zu einer Standard-Konventionen zu mit in den Dateinamen, sie zu platzieren, die internationalen Codes für Sprache (zB „en“) und Umgebung (zB „de-DE „) sind beide sehr häufig und sehr einfach. 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 bevor die ersten und letzten Varianten. Die ehemalige für Dateien nach Namen / Ressource (gut für Situationen, in denen eine begrenzte Anzahl von Dateien benötigen lokalisiert) und diese für die Gruppierung der Dateien durch locale (besser für Situationen mit einer großen Anzahl von lokalisierten Dateien) zu gruppieren.

Sie sollten immer den "de-facto" -Standard, die die Unix / Posix Art und Weise mit gettext ist. Und Sie shoud gettext verwenden, um Ihre Lokalisierung zu machen!

Deshalb einzig richtige Weg ist, Lokalisierung Benennung wie folgt zu verwenden:

en
en_US
en_UK

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

gettext Standard ist dies und nur dies:

locale
 |_en_US
    |_LC_MESSAGES
      |_appname.mo

Dabei gilt:

locale - Name des Verzeichnisses kann variieren, aber es ist stark mit „locale“ -Name

empfohlen zu bleiben

en_US - Alle Standard-locale wie * es_ES *, * es_PT *, ...

LC_MESSAGES - obligatorisch und kann nicht geändert werden

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top