Eigentlich ist es eine ganz einfache Sache bei DITA: man setzt xml:lang-Attribut auf die gewünschte Sprache/Sprachvariante und zack, sind die Standardtexte (so etwas wie „Achtung“, „Voraussetzung“ u.ä.) lokalisiert. DITA bringt schon eine ganze Latte von Sprachdateien mit sich, die diese Texte enthalten und zwar unter DITA_OT/xsl/common.
Nun habe ich diese Dateien erweitert und das hat in der Standardsprache meiner Pilot-Doku (en-us) auch super geklappt das einzubinden. Als ich nun diese Doku in das britische Englisch (also en-gb) übersetzen wollte, wurden die Standardtexe weiterhin aus der Sprachdatei für en-us eingebunden. Ein kurzer, erfolgreicher Test mit der Lokalisierung ins Deutsche hat ergeben, dass die Lokalisierung an und für sich schon funktioniert, aber nur die Sprachvariante en-gb nicht.
Und was war des Rätsels Lösung? In der strings.xml wird definiert für welche Sprache welche Sprachdatei verwendet werden soll und da stand glatt für alle Sprachvarianten einer Sprache immer eine „Hauptsprache“ drin. Das heißt in allen Englischvarianten stand en-us als Standard drin, bei Deutsch beispielsweise de-de und so weiter.
Natürlich war das nirgends dokumentiert, aber dank Community war auch das dann gelöst – und zwar so:
ALT: <lang xml:lang=“en- gb“ filename=“strings-en-us.xml“
NEU: <lang xml:lang=“en- gb“ filename=“strings-en-gb.xml“ />
Ich hatte schon etwas Angst bekommen, dass das Problem komplizierter ist, weil es einige Artikel gab, in denen stand, dass beim PDF-Generieren die Lokalisierung anders läuft. Allerdings ist das nur so, wenn man pdf2 nutzt. Immerhin etwas Gutes hatte es an dieser Stelle, dass wir noch FOP nutzen 😉