Aller au contenu

Nouveau membre ?! Pense à te présenter pour accéder au contenu du forum !

New member ?! Introduce yourself to get access to the forum !

Rory

 tutoriel / partage Traduire son locale_game, locale_interface

Messages recommandés

Bonjour.

 

J'ai récemment parlé sur mon premier sujet de traduire les locale_game et locale_interface afin de créer plusieurs pack "locale_xx".

 

Je vous partage par conséquent un petit script Python très court que j'ai écrit afin de traduire un fichier locale en utilisant un locale existant.

 

Voici sans plus tard le code : https://mega.nz/#!Uc1Q3aQA!iygqmtycn-IIARN1MQEyuQ2p6Muk-dZc3usJH2p34No

 

Voici une brève explication sur le "comment se servir du code ?" :

 

  • Créer un fichier et déposer dans celui-ci :
    • locale_client.py
    • Le fichier local que vous souhaitez traduire, et vous aller le nommer : totranslate.txt
    • Le fichier local de votre langue (la traduction si disponible sera puisée de dans), nommez le : translationbase.txt.
  • Lancez ensuite le script grâce à une console Python.

 

Le script va ensuite parcourir vos fichiers, recopier dans le fichier result.txt toutes les clés qui auront trouvé une correspondance dans la base de traduction. Le reste sera inscrit dans le other.txt, et vous devrez le traduire à la main.

 

Briève explication du code : 

Révélation

Explications :

import os # Imporation du module OS servant à traiter les fichiers

toTranslate = {} # Création du dictionnaire qui va contenir tous les éléments du fichier à traduire
translationBase = {} # Création du dictionnaire qui va contenir tous les éléments du fichier de la base de traduction

toTranslateFile = "totranslate.txt" # Nom du fichier à traduire
translationBaseFile = "translationbase.txt" # Nom de la base de traduction
resultFile = open("result.txt", "w") # Création et stockage du fichier traduit dans une variable
otherFile = open("other.txt", "w") # Création et stockage du fichier pour les valeurs qui ne trouvent pas de correspondance

with open(toTranslateFile, "r") as toTranslateFile: # On ouvre momentanément le fichier à traduire
	for lines in toTranslateFile: # Pour chaque ligne du fichier
		toTranslateLine = lines.split("	") # On sépare la clé et sa valeur 
		toTranslate[toTranslateLine[0]] = toTranslateLine[1] # On ajoute la clé et sa valeur dans le dictionnaire

with open(translationBaseFile, "r") as translationBaseFile: # On ouvre momentanément le fichier à traduire
	for lines in translationBaseFile:: # Pour chaque ligne du fichier
		translationBaseLine = lines.split("	") # On sépare la clé et sa valeur 
		translationBase[translationBaseLine[0]] = translationBaseLine[1] # On ajoute la clé et sa valeur dans le dictionnaire

for key, value in toTranslate.items(): # Pour chaque clé/valeur à traduire :
	if key in translationBase: # Si elle trouve une correspondance dans la base de traduction
		resultFile.write(key + "	" + translationBase[key]) # On ajoute la clé, une tabulation et la valeur dans le fichier result
	else: # Si elle ne trouve pas de correspondance :
		otherFile.write(key + "	" + toTranslate[key]) # On ajoute la clé, une tabulation et sa valeur non traduite dans le fichier other.txt

 

 

 

C'est un médiocre partage, mais j'espère qu'il pourra intéresser quelqu'un...

Désolée d'avance si ce code fait faire des AVC à des gros développeurs Python, je ne suis pas très expérimentée dans ce sujet, j'espère ne pas avoir fait trop salement...

-Rory

 

 

Modifié par Rory

Partager ce message


Lien à poster
Partager sur d’autres sites

×

Information importante

By using this site, you agree to our Conditions d’utilisation.