Sunday, 31 May 2020
 
 
Comment localiser les chaînes d'une extension pour Firefox Print
Written by Goofy   
Thursday, 29 September 2005
Il arrive que les extensions que nous traduisons soient dépourvues de dossier locale, il faut donc aller chercher
les chaînes de caractères un peu partout... Ou bien on peut réaliser soi-même un dossier "locale" qui sera bien
pratique pour internationaliser l'extension...
Nous prenons ici pour exemple l'extension anidisable d'Harry Patsis
1

Ouvrons anidisable.xpi
ouvrir1.png
avec Izarc ou 7-Zip par exemple
2

Le dossier chrome contient un autre fichier compressé que nous ouvrons aussi...
ouvrir2.png
3

Déception ! Il ne contient pas de dossier "locale" ...
ouvrir3.png
4

Eh bien...
nous en créons un !
localefolder1.png
avec le bouton droit "Nouveau dossier" puis renommer
5

Et nous lui donnons le contenu suivant : un sous-dossier en-US (pour une locale en anglais, bien sûr) qui contiendra deux fichiers :
- anidisable.dtd
- contents.rdf
localefolder2.png
avec le bouton droit "Nouveau document texte" puis renommer

6

Regardons maintenant dans le fichier content/anidisable.xul, nous y découvrons des mots à localiser. Ce sont ces mots qui apparaîtront en clair à l'utilisateur.
Remarque : nous laisserons de côté le mot "Anidisable" car il s'agit du nom de l'extension tel qu'il apparaîtra, il est préférable de ne pas le traduire.
Ouvrir avec un éditeur de texte comme Pspad ou Jedit

labels1.png

... et à part ceux des "label", quels textes peut-on localiser ? Voyez ici des indices

7

C'est le moment important. !
Nous allons remplacer maintenant les messages entre guillemets par le signe & suivi d'un nom de variable suffisamment explicite, le tout terminé par un ;
labels2.png

8

Allons maintenant dans la locale en-US, dans le fichier anidisable.dtd

En respectant la syntaxe (exemple ci-contre), nous reportons ici les noms de variables et leur "équivalent" en anglais .
label3.png

9

Retournons maintenant dans le fichier anidisable.xul, et dès la deuxième ligne ajoutons cette ligne qui permet à l'extension d'avoir l'adresse précise où trouver les éléments localisés...
doctype.png

10

Nous reproduisons la même opération de substitution par des variables pour les chaînes du fichier
anidisablesettings.xul
en suivant les étapes
7 8 9
utf8.png
...et on n'oublie pas l'encodage en UTF-8 !

11

Voici maintenant le contenu du fichier contents.rdf de la locale.
C'est le même pour toutes les extensions, sauf bien sûr le nom de l'extension elle-même
Pour vous éviter de le saisir entièrement, vous pouvez le récupérer dans ce fichier en texte brut....
contents.png
12

Une autre chose importante : pour que l'extension prenne en compte les éléments localisés à la bonne adresse, il faut lui ajouter
cette ligne (en jaune)
dans le fichier install.rdf
install-locale-line.png
Et voilà ! il ne nous reste plus qu'à :

  • re-compresser pour avoir un nouveau .xpi
  • tester le fonctionnement de l'extension
  • envoyer à l'auteur notre proposition de localisation
* Si vous voulez comparer et vous exercer, voici anidisable version originale / version localisée
Dans cette dernière version, la description initiale est également localisée. Un autre minituto est ici si vous voulez savoir comment faire.
Et si vous voulez localiser des chaînes contenues dans un fichier javascript (*.js), regardez ici.


Quels sont les textes que l'on peut localiser ?
Ceux qui suivent ces balises :
  • "label"
  • "title"
  • "tooltip"
  • "value"
  • "accesskey"
mon avatar

Last Updated ( Monday, 04 June 2007 )
 
 
Top! Top!