Page 1 sur 1
[R] Traduire le contenu fenêtres en d’autres langues
Posté : ven. 13 juin 2014 23:57
par Boulanza
Bonsoir,
J’ai plusieurs fenêtres sur une application et je souhaite traduire leurs contenus (texte) en d’autres langues. Alors comment modifier mes scripte pour ne pas recommencer à chaque fois de porté le texte traduit sur chaque fenêtre. Par exemple :
Code : Tout sélectionner
$Form1 = GUICreate("texte1", ……….
$Labe1 = GUICtrlCreateLabel("texte1 " , ……)
$Labe2 = GUICtrlCreateLabel("texte2 " , ……)
$Labe X = GUICtrlCreateLabel("texteX " , ……)
$FormX = GUICreate("texteX", ………)
Merci pour votre aimable aide
Re: [..] Traduire le contenu fenêtres en d’autres langues
Posté : sam. 14 juin 2014 00:02
par lesolutionneur
Voici un exemple d'UDF semblant correspondre à vos besoins :
http://www.autoitscript.com/forum/topic ... ation-udf/
Re: [..] Traduire le contenu fenêtres en d’autres langues
Posté : sam. 14 juin 2014 08:45
par PandiPanda
Re: [R] Traduire le contenu fenêtres en d’autres langues
Posté : sam. 14 juin 2014 10:30
par Boulanza
Bonjour,
Merci pour vos aides.
Là je ne suis pas, c'est abstrait pour moi...!
y-a-t'il une solution plus simple ?
Cordialement.
Re: [..] Traduire le contenu fenêtres en d’autres langues
Posté : sam. 14 juin 2014 12:22
par PandiPanda
L'utilisation d'un fichier XML (ini, txt, bd, autre ?) ?
Quelque explication sur un fichier XML
-
wiki
un exemple;
► Afficher le texte
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version : 3.3.8.1
Auteur: Pandi_Panda
Fonction du Script :
# test GUI
#ce ----------------------------------------------------------------------------
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("TEST_GUI_XML", 289, 158, 192, 114)
Global $Button1 = GUICtrlCreateButton("FR", 16, 16, 73, 57)
Global $Button2 = GUICtrlCreateButton("EN", 16, 80, 73, 57)
Global $Label1 = GUICtrlCreateLabel("", 112, 64, 124, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Local $oXML = _XML_Open("fr.xml")
If @error Then MsgBox(64,"error","fichier xml error")
Local $sLabel = _XML_getAttrib("//GUI_1","labelGui")
GUICtrlSetData($Label1,$sLabel)
Case $Button2
Local $oXML = _XML_Open("en.xml")
If @error Then MsgBox(64,"error","fichier xml error")
Local $sLabel = _XML_getAttrib("//GUI_1","labelGui")
GUICtrlSetData($Label1,$sLabel)
EndSwitch
WEnd
Func _XML_getAttrib($sNode,$sAttrib)
For $oConfig in $oXML.selectNodes($sNode)
Return $oConfig.getAttribute($sAttrib)
Next
Return ""
EndFunc
Func _XML_Open($sPathFile)
Local $oXml = ObjCreate('Msxml2.DOMDocument.3.0')
If IsObj($oXml) Then
$oXml.load($sPathFile)
Return $oXml
EndIf
Return SetError(1,0,"")
EndFunc
Re: [..] Traduire le contenu fenêtres en d’autres langues
Posté : sam. 14 juin 2014 13:36
par Boulanza
Bonjour,
Je vais voir la meilleure solution pour mon cas.
C'est parfait, merci infiniment de votre aide....
Cordialement.
Re: [R] Traduire le contenu fenêtres en d’autres langues
Posté : mar. 17 juin 2014 09:47
par Boulanza
Bonjour,
Peut-on intégrer le texte en langue Arabe à la place du texte latin dans les fenêtres et MsgBox AtoIt.
Cordialement
Re: [R] Traduire le contenu fenêtres en d’autres langues
Posté : mar. 17 juin 2014 12:22
par PandiPanda
Bonjour, je n'ai pas de probleme pour la msgbox()
Il faut simplement que votre fichier *.au3 soit encodé en utf-8
me semble que scite par défaut ne le fait pas, notepad++ on peux le modifier facilement ...
notepad++ > format > encodage utf-8
scite >
ceci fonctionne pas mal.
à savoir pour scite, il faut aller dans vos fichier d'installation autoit, dossier SciTe, SciTEGlobal.properties
dans ce fichier, il faut l'editer mettre en commentaire
code.page=0(juste ajouter # devant) et decommenter
#code.page=65001 (juste enlever le #)
ceci permet de specifier qu'a chaque demarage de scite, vous serez en utf-8
script de test;
► Afficher le texte
Code : Tout sélectionner
msgbox(0,"","السلام عليكم")
; savoir que je sais pas du tout ce que ca veux dire, je l'ai simplement trouvé sur le net '^^
Re: [R] Traduire le contenu fenêtres en d’autres langues
Posté : mar. 17 juin 2014 13:57
par Boulanza
Que la paix soit sur vous,
C'est formidable...
Merci encore pour ces précieuses informations.
Code : Tout sélectionner
msgbox(0,"","السلام عليكم")
; savoir que je sais pas du tout ce que ca veux dire, je l'ai simplement trouvé sur le net '^^
"Que la paix soit sur vous"
Cordialement.