Lokalisierung in Gecko 1.9
Gecko 1.9 beinhaltet eine neue, verbesserte Methode, um Add-on Beschreibungen und andere Metadaten zu lokalisieren. Die verschiedenen Beschreibungen können jetzt in der install.rdf Datei durch die em:localized
Eigenschaften angegeben werden, wovon jede mindestens eine em:locale
Eigenschaft besitzt, die die Sprache angibt. Zusätzlich können noch Name und Beschreibung der Erweiterung angegeben werden. Das folgende Beispiel demonstriert dies (die anderen Manifest-Eigenschaften wurden der Einfachheit halber weggelassen):
<?xml version="1.0"?> <RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="https://www.mozilla.org/2004/em-rdf#"> <Description about="urn:mozilla:install-manifest"> <em:id>[email protected]</em:id> <em:localized> <Description> <em:locale>de-DE</em:locale> <em:name>Tab Sidebar</em:name> <em:description>Zeigt in einer Sidebar Vorschaubilder der Inhalte aller offenen Tabs an.</em:description> </Description> </em:localized> <em:localized> <Description> <em:locale>es-ES</em:locale> <em:name>Tab Sidebar</em:name> <em:description>Muestra una vista previa de sus pestañas en su panel lateral.</em:description> </Description> </em:localized> <em:localized> <Description> <em:locale>nl-NL</em:locale> <em:name>Tab Sidebar</em:name> <em:description>Laat voorbeeldweergaven van uw tabbladen in de zijbalk zien.</em:description> </Description> </em:localized> <em:name>Tab Sidebar</em:name> <em:description>Displays previews of your tabs in your sidebar.</em:description> </Description> </RDF>
Alle unten erwähnten Metadaten können auf diese Weise lokalisiert werden. Die Informationen zur Lokalisierung, die durch die em:localized
Eigenschaft gegeben sind, können durch ein Set an lokalisierten Einstellungen überschrieben werden. Mehr dazu weiter unten.
Das Verfahren zur Auswahl der em:localized
Eigenschaft einer speziellen Sprache lautet wie folgt:
- Wenn eine Eigenschaft mit einem
em:locale
existiert, die zu der eingestellten Sprache passt, dann wird diese verwendet. - Wenn es ungenaue Treffer gibt, dann wird derjenige verwendet, der die meisten Teiltreffer aufweist, sprich Teile, die durch einen Bindestrich getrennt sind (z. B. würde »es« einen Treffer für »es-ES« ergeben und umgekehrt).
- Falls es mehr als eine Sprachumgebung mit der gleichen Anzahl an Teiltreffern gibt, dann wird die allgemeinste verwendet (z. B. wird »en« gegenüber »en-GB« bevorzugt, falls nach »en-US« gesucht wird).
Zunächst wird nach einer Übersetzung in der aktuellen Anwendungssprache gesucht. Falls keine Übersetzung existiert, wird nach »en-US« gesucht.
Falls weder eine Einstellung gesetzt ist, noch eine passende em:localized
Eigenschaft für die aktuelle Spracheinstellung oder en-US existiert, dann werden direkt die Eigenschaften aus dem Installationsmanifest verwendet, da diese für Gecko 1.9 immer verwendet wurden.
Lokalisierung vor Gecko 1.9
Vor Gecko 1.9 mussten Add-on Entwickler ein spezielles Verfahren beachten, um lokalisierte Beschreibungen für Add-on unterstützende sowie Toolkit basierte Anwendungen (wie Firefox oder Thunderbird) zu definieren.
- Falls noch keine existiert, sollten lokalisierte Eigenschaften Dateien erstellt werden. Es sollte sichergestellt werden, dass die Dateien UTF-8 (ohne BOM) kodiert sind, um die korrekte Anzeige fremder Zeichen sicherzustellen.
- Die folgende Zeile sollte zu jeder der lokalisierten Eigenschaften Dateien hinzugefügt werden (wobei ERWEITERUNGS_ID der ID deines Add-ons (
<em:id>
in der install.rdf) entspricht und LOKALISIERTE_BESCHREIBUNG die Beschreibung deiner Erweiterung in der jeweiligen Sprache darstellt):extensions.ERWEITERUNGS_ID.description=LOKALISIERTE_BESCHREIBUNG
- Falls noch nicht vorhanden, muss eine Standardeigenschaften Datei erstellt werden.
- Die folgende Zeile wird dann hinzugefügt (wobei ERWEITERUNGS_ID der ID des Add-ons der install.rdf entspricht und PFAD_ZUR_LOKALISATIONS_DATEI der CHROME Pfad zu der Lokalisierungsdatei ist, die zuvor erstellt worden ist):
pref("extensions.ERWEITERUNGS_ID.description", "PFAD_ZUR_LOKALISATIONS_DATEI");
Lokalisierbare Zeichenketten
Die folgenden Add-on Metadaten können auf diese Weise übersetzt werden:
- name
- description
- creator
- homepageURL
Lokalisierbare Listen
In Fällen, in denen mehrere Werte existieren können, wird ein numerischer Index an das Ende des Namens der Eigenschaft angehängt:
extensions.ERWEITERUNGS_ID.contributor.1=LOKALISIERTER_NAME_DES_ERSTEN_MITWIRKENDEN extensions.ERWEITERUNGS_ID.contributor.2=LOKALISIERTER_NAME_DES_ZWEITEN_MITWIRKENDEN extensions.ERWEITERUNGS_ID.contributor.3=LOKALISIERTER_NAME_DES_DRITTEN_MITWIRKENDEN pref("extensions.ERWEITERUNGS_ID.contributor.1", "PFAD_ZUR_LOKALISATIONS_DATEI"); pref("extensions.ERWEITERUNGS_ID.contributor.2", "PFAD_ZUR_LOKALISATIONS_DATEI"); pref("extensions.ERWEITERUNGS_ID.contributor.3", "PFAD_ZUR_LOKALISATIONS_DATEI");
Die folgenden Add-on Metadaten können auf diese Weise übersetzt werden:
- developer
- translator
- contributor