| D'abord,
vous devez créer un fichier .properties
dans votre dossier de locale, s'il n'existe pas déjà.
Vous écrivez ensuite un nom de variable
et la phrase ou mot dans votre langue tel qu'il doit apparaître
à l'utilisateur de l'extension. Quelque chose comme : WrongPassMessage=Mot
de passe invalide
(Mot de passe invalide est la
chaîne traduite danscet exemple)
Notez :
1. Un simple signe = est suffisant 2. N'oubliez pas de convertir les chaînes avec des caractères accentués en "Unicode échappé" avant d'enregistrer le fichier. Voir comment faire sur l'excellent tutoriel de Jojaba |
| Ensuite vous
devez "indiquer" à l'extension qu'il faut aller chercher dans ce
fichier .properties la chaîne de caractères en question.
vous devez donc écrire ce genre de ligne dans le ficheir
xxxoverlay.xul
du dossier content : <stringbundleset
id="stringbundleset">
<stringbundle id="nomdelextension-strings" src="chrome://nomdelextension/locale/nomdelextension.properties"/> </stringbundleset> Le 'stringbundle' que vous définissez (avec son nom) est une sorte de liste des chaînes de caractères que vosu avez inscrites dans le fichier properties. Et bien sûr, vous ajoutez la source du fichier, son adresse dans l'extension. |
| Et maintenant
vous pouvez aller dans le fichier .js, dans lequel se
trouve la chaîne à localiser.
Le point essentiel est tout simple : Vous devez remplacer une variable par une
autre.
Vous allez utiliser une ligne de ce genre à insérer au
bon endroit :var wrongpassalert=document.getElementById('nomdelextension-strings').getString("WrongPassMessage");
var signifie variable wrongpassalert va prendre la valeur de la variable WrongPassMessage telle que définie dans le fichier properties, et sera ainsi utilisée dans l'interface utilisateur document.getElementById donne au script l'indication d'aller chercher dans la série de chaînes identifiée comme "nomdelextension-strings" getString indique quelle variable doit être extraite du stringbundle |
| Vous pouvez
maintenant ustiliser la variable
wrongpassalert dans le fichier .js là où c'est
nécessaire : voyez l'exemple ci-dessous : if
( password == userPassword ) {
oPrefs.setBoolPref("access.authenticated", true); } else { alert (wrongpassalert); oPrefs.setBoolPref("access.authenticated", false) |