Re: [ostorybook-dev] translation codes

[ Thread Index | Date Index | More lists.tuxfamily.org/ostorybook-dev Archives ]


On 04/27/2017 05:07 AM, oStorybook wrote:
OK, on laisse tomber l'échappement de fin de ligne. Je viens de repasser tous
les fichiers et de committer les modif.

OK. Il restait quelques fins de lignes échappées (ja, fi, es), j'ai corrigé sur git. J'ai aussi mis ma version de travail de mon script, juste pour avoir un backup. Il marchotte un peu, mais il faudra que je le rende plus solide, en particulier pour refuser de faire quoi que ce soit si de telles lignes sont présentes.

Du coup j'ai trouvé un autre soucis: Des clefs dupliquées dans les fichiers properties, que je n'avais pas prévu.

Il y en a 23 dans messages.properties par exemple, 25 dans le fichier fr, etc... Tu peux les détecter avec la commande:

br@galadriel:~/.../src/storybook/msg$ sed -nr 's/^[[:space:]]*([[:alnum:]\.]+)[[:space:]=]+([[:alnum:]\.]+).*$/\1/p' messages.properties | sort | uniq -d
export.sql
file.export
file.new
file.print
itemlink.new
item.new
memo.new
personlink.new
project.open
properties
scene.new
shef.bold
shef.copy
shef.copy.mnemonic
shef.cut
shef.cut.mnemonic
shef.italic
shef.paste
shef.paste.mnemonic
shef.underline
taglink.new
tag.new
tags.links

Je te laisse le soin de tester le script, si tu as le temps, je sors pour la journée. Quelques options ne sont pas implémentées (-i, -b, -r). C'est toujours -b pour l'instant.

Usage typique (si tu te places dans le répertoire msg):
.../../../scripts/propdiff.sh -sw *_*.properties

-w va créer des fichiers TODO to TOREMOVE pour chacun des fichiers fournis en paramêtre. Tu peux ignorer *_*.properties, c'est ce qu'il prendra par défaut.

-s va inclure (dans le fichier TODO) la valeur des clefs (ce qui va faciliter le travail des traducteurs) de messages.properties. Cette option est couteuse.
Pour le soucis des clefs dupliquées, la première trouvée sera prise.

J'ai gardé l'option -R, pour pouvoir tout faire en une seule commande.
L'option -D (que j'ai oublié de documenter en tête du fichier), permet d'utiliser un autre répertoire que ".".

Donc dans ant, ça pourrait donner un truc comme:
../scripts/propdiff.sh -D ./src/storybook/msg -sw
Cela génèrera les TODO et TOREMOVE pour toutes les langues, vis-a-vis messages.properties.

Exemple pour le fichier fr:
.../../../scripts/propdiff.sh -sw *_fr.properties

Donne 2 fichiers:

br@galadriel:~/.../src/storybook/msg$ cat messages_fr.properties.TODO
editor.delete.warning=An object is loaded in the editor\:\n\n{0}\n\nFinish the editing process first.
items.add=Add new Item
locations.add=Add a new Location
persons.add=Add a new Character
relationships.add=Add a new Relationship
strands.add=Add a new Strand
tags.add=Add a new Tag
typist=Typist

br@galadriel:~/.../src/storybook/msg$ cat messages_fr.properties.TOREMOVE
test.test

Je n'ai testé que sur ma machine, Ubuntu 16.10. Le code a l'air portable, je me pose des questions sur "sed" que j'utilise à outrance, il est possible que les sed non-GNU aient des soucis, je ne sais pas.

br.

PS. J'ai vu que tu as créé un fichier "uk". Je suggère de le renommer en "en_UK" si on veut suivre un pattern régulier (comme zh_CN), les deux premières lettres étant la langue, le reste étant la variante, si besoin.



--
oStorybook dev team


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/