Voila un module tout simple pour faire vos programme multi-langue
Le code du module
Code : Tout sélectionner
;////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;TRS
;Module de traduction
;Vers 1.0
;© AllDev /MicrodevWeb 2014
;////////////////////////////////////////////////////////////////////////////////////////////////////////////////
DeclareModule Trs
Declare$ Send(Txt$)
Declare SetLanguage(Language)
Declare GetLanguage()
EndDeclareModule
Module Trs
Global MyLanguage
Procedure SetLanguage(Language)
MyLanguage=Language
EndProcedure
Procedure.i GetLanguage()
ProcedureReturn MyLanguage
EndProcedure
Procedure$ Send(Txt$)
Protected TxtReturn$
TxtReturn$=StringField(Txt$,MyLanguage,"@")
ProcedureReturn TxtReturn$
EndProcedure
EndModule
Code : Tout sélectionner
Enumeration FormWindow
#MainForm
EndEnumeration
Enumeration FormGadget
#Text_1
#Text_2
#Str1
#Str2
#Text_3
#Str3
#Text_4
#Str3_Copy1
#Text_5
#Str3_Copy1_Copy1
#Button_0
#Button_1
#Button_3
#Button_4
#Button_5
EndEnumeration
Enumeration FormFont
#Font_MainForm_0
EndEnumeration
#FR=1
#EN=2
#NL=3
LoadFont(#Font_MainForm_0,"Arial", 12)
Procedure OpenMainForm(x = 0, y = 0, width = 380, height = 320)
OpenWindow(#MainForm, x, y, width, height, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(#Text_1, 15, 5, 225, 25, Trs::Send("Nom du client@Customer Name@Naam van de klant"))
SetGadgetFont(#Text_1, FontID(#Font_MainForm_0))
TextGadget(#Text_2, 15, 65, 225, 25, Trs::Send("Adresse@Address@Adres"))
SetGadgetFont(#Text_2, FontID(#Font_MainForm_0))
StringGadget(#Str1, 15, 30, 225, 25, "")
StringGadget(#Str2, 15, 100, 225, 25, "")
TextGadget(#Text_3, 15, 125, 225, 25, Trs::Send("Code postal@zip code@Postcode"))
SetGadgetFont(#Text_3, FontID(#Font_MainForm_0))
StringGadget(#Str3, 15, 150, 225, 25, "")
TextGadget(#Text_4, 15, 185, 225, 25, Trs::Send("Localité@locality@lokalisatie"))
SetGadgetFont(#Text_4, FontID(#Font_MainForm_0))
StringGadget(#Str3_Copy1, 15, 210, 225, 25, "")
TextGadget(#Text_5, 15, 245, 225, 25, Trs::Send("Pays@country@land"))
SetGadgetFont(#Text_5, FontID(#Font_MainForm_0))
StringGadget(#Str3_Copy1_Copy1, 15, 270, 225, 25, "")
ButtonGadget(#Button_0, 260, 30, 100, 25, Trs::Send("Valider@Submit@valideren"))
ButtonGadget(#Button_1, 260, 60, 100, 25, Trs::Send("Fermer@Close@Close"))
ButtonGadget(#Button_3, 290, 100, 40, 25, "FR")
ButtonGadget(#Button_4, 290, 140, 40, 25, "EN")
ButtonGadget(#Button_5, 290, 180, 40, 25, "NL")
EndProcedure
Global gEvent
Trs::SetLanguage(#FR)
OpenMainForm()
Repeat
gEvent=WaitWindowEvent()
Select gEvent
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_3
Trs::SetLanguage(#FR)
CloseWindow(#MainForm)
OpenMainForm()
Case #Button_4
Trs::SetLanguage(#EN)
CloseWindow(#MainForm)
OpenMainForm()
Case #Button_5
Trs::SetLanguage(#NL)
CloseWindow(#MainForm)
OpenMainForm()
EndSelect
EndSelect
Until gEvent=#PB_Event_CloseWindow