Instructions de traduction
Dans cette partie de la documentation je vais expliquer la façon de traduire le script.
Malheureusement, le batch possède certaines limitations donc il faut respecter certaines règles car sinon la traduction risque de faire planter le script.
Notez également que la traduction la plus à jour sera le français, le script restera optimisé pour cette langue en premier lieu.
Consignes
- Toujours partir de la dernière base du dossier "FR_fr" se trouvant dans le dossier "languages" du script.
- Garder l'encodage en UTF-8 (chcp 65001) car le script est en grande partie fait pour fonctionner correctement sous cet encodage de caractère. Quelques scripts fonctionnent aussi en ANSI (chcp 1252), garder également cette encodage pour ces fichiers.
- Tout ce qui se trouve entre deux caractères "%" ou "!" ne doit pas être traduit, ce sont des variables utilisées par le ou les scripts. Par contre, si le signe "^" précède un de ces signes, cela signifie qu'il sera affiché dans la chaîne de caractère et que donc là la suite du caractère "%" ou "!" peut être traduite. Autre chose pour le caractère "%", s'il est suivi d'un "~" il faudra reprendre la traduction à partir de l'espace qui suivra et laisser ce qui est collé au "%~".
- Les signes "(", ")", "<", ">", "^|" et "^" doivent toujours être précédé du signe "^" pour s'afficher correctement et ne pas impacter le fonctionnement du script.
- Pour afficher une ligne vide, ajouter une ligne contenant "echo." (sans les guillemets) à l'endroit où vous souhaitez qu'elle s'affiche.
- Pour les lignes à traduire commençant par "title" (sans les guillemets), la traduction commence à partir du premier espace.
- Pour les lignes à traduire commençant par "echo" (sans les guillemets), la traduction commence à partir du premier espace.
- Pour les lignes à traduire commençant par "set" (sans les guillemets), la traduction commence à partir du premier signe "=".
- Parfois, une condition se trouve avant la ligne à traduire donc ne pas toucher à la condition, seulement traduire ce qui est de l'ordre du message. Parfois également, les conditions sont en forme de bloque donc ne pas toucher au bloque mais traduire ce qui peut l'être dans ceux-ci.
- Certaines lignes contiennent des infos à traduire dans les paramètres, notamment les lignes commençant par "%windir%\system32\wscript.exe".
- Vous êtes totalement libre de la présentation des choses dans vos traductions tant que cela n'impact pas le fonctionnement du script.
Vous devez également remplacer la ligne "goto:%~1" (la première ligne de chaque script de traduction française) par cette petite fonction:
set lng_label_exist=0 %ushs_base_path%tools\gnuwin32\bin\grep.exe -c -E "^:%~1$" <"%~0" >"%ushs_base_path%temp_lng_var.txt" set /p lng_label_exist=<"%ushs_base_path%temp_lng_var.txt" del /q "%ushs_base_path%temp_lng_var.txt" IF "%lng_label_exist%"=="0" ( call "!associed_language_script:%language_path%=languages\FR_fr!" "%~1" goto:eof ) else ( goto:%~1 )
Proposer une traduction
Pour me proposer une traduction à intégrer, vous pouvez faire un pull request sur Github ou me proposer un zip en ouvrant une issue. S'il vous plaît, veuillez communiquer avec moi en français de préférence ou en anglais.