Localisation avec Gecko 1.9
Gecko 1.9 procure une nouvelle méthode plus efficace de localisation des descriptions et autres métadonnées des extensions. Toutes les descriptions en différentes langues peuvent maintenant apparaître dans le fichier install.rdf grâce aux propriétés em:localized
. Une propriété em:locale
indique pour quelle langue utiliser l'information, de même que les diverses chaînes disponibles dans le dossier locale. L'exemple ci-dessous en donne l'illustration (les propriétés les plus courantes n'y figurent pas par souci de concision) :
<?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>fr</em:locale> <em:name>Tab Sidebar</em:name> <em:description>Affiche des aperçus de vos onglets dans le panneau latéral.</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>
Toutes les métadonnées mentionnées ci-dessous peuvent être localisées de la même façon. Les informations fournies par la propriété em:localized
peuvent être remplacées en utilisant une série de préférences comme détaillée plus bas. Si aucune préférence n'est indiquée, ou s'il n'existe pas de propriété em:localized
pour la locale courante, alors les propriétés indiquées directement dans le manifeste d'installation seront utilisées en dernier recours, comme elles l'ont toujours été avant Gecko 1.9.
La localisation avant Gecko 1.9
Avant Gecko 1.9, les développeurs d'extensions devaient recourir à une procédure particulière pour définir des descriptions localisées pour les extensions destinées aux applications telles que Firefox ou Thunderbird.
- Si vous n'en avez pas encore, créez des fichiers de propriétés *.properties. Assurez-vous de bien utiliser l'encodage UTF-8 (sans BOM) pour garantir un bon rendu des caractères particuliers de chaque langue.
- Ajoutez les lignes suivantes dans chacun de vos fichiers *.properties localisés — où EXTENSION_ID représente l'ID de votre extension (
<em:id>
dans l'install.rdf) et DESCRIPTION_LOCALISÉE est le texte décrivant l'extension tel qu'il doit apparaître à l'utilisateur dans la langue voulue. :extensions.EXTENSION_ID.description=DESCRIPTION_LOCALISÉE
- Si vous n'en avez pas encore sous la main, créez un fichier de préférences par défaut.
- Ajoutez-y la ligne suivante (où EXTENSION_ID représente l'ID de votre extension (
<em:id>
dans l'install.rdf) et CHEMIN_DU_FICHIER_LOCALISÉ est l'adresse dans le chrome du fichier localisé *.properties que vous avez ajouté auparavant) :pref("extensions.EXTENSION_ID.description", "CHEMIN_DU_FICHIER_LOCALISÉ");
Chaînes localisables
Les métadonnées suivantes pour les extensions peuvent être localisées en utilisant le même procédé :
name
(nom de l'extension)description
(description de l'extension)creator
(créateur de l'extension)homepageURL
(page web de l'extension)
developer
(développeur)translator
(traducteur)contributor
(contributeur)
Au cas où plusieurs valeurs différentes existent, on peut ajouter un nombre à l'extrémité du nom de la préférence :
extensions.EXTENSION_ID.contributor.1=NOM_DU_PREMIER_CONTRIBUTEUR extensions.EXTENSION_ID.contributor.2=NOM_DU_DEUXIÈME_CONTRIBUTEUR extensions.EXTENSION_ID.contributor.3=NOM_DU_TROISIÈME_CONTRIBUTEUR pref("extensions.EXTENSION_ID.contributor.1", "CHEMIN_DU_FICHIER_LOCALISÉ"); pref("extensions.EXTENSION_ID.contributor.2", "CHEMIN_DU_FICHIER_LOCALISÉ"); pref("extensions.EXTENSION_ID.contributor.3", "CHEMIN_DU_FICHIER_LOCALISÉ");
Ceci peut s'appliquer aux éléments localisables suivants :
developer
(développeur)translator
(traducteur)contributor
(contributeur)