language data change example?
Posted: Wed Oct 12, 2011 6:05 pm
Anyone here show a small amount of code to give an example of couple languages in a app and how to switch between those language data perhaps a procedure example?
http://www.purebasic.com
https://www.purebasic.fr/english/
Code: Select all
EnableExplicit
Enumeration
#Mainform
#Text1
#Name
#Update
#Language
EndEnumeration
Global PreferenceLanguage.i
Procedure.s SetText(Local.s, International.s)
Select PreferenceLanguage
Case 1 ;Local
ProcedureReturn local
Case 2;International
ProcedureReturn International
EndSelect
EndProcedure
Procedure ChangeLanguage(Value.i)
PreferenceLanguage=Value
SetWindowTitle(#Mainform, SetText("Titre en français", "English Title"))
SetGadgetText(#Text1, SetText("Nom","Name"))
SetGadgetText(#Name, SetText("Entrez votre nom","Enter your name"))
SetGadgetText(#Update, SetText("Mise à jour","Update"))
EndProcedure
OpenWindow(#Mainform, 0, 0, 500, 300, "", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
TextGadget(#Text1, 10, 20, 80, 20, "")
StringGadget(#Name, 90, 20, 100, 20, "")
ButtonGadget(#Update, 200, 20, 80, 20, "")
ButtonGadget(#Language, 470, 270, 30, 30, "Fr")
SetGadgetData(#Language, 2)
ChangeLanguage(2)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #Language
If GetGadgetData(#language)=1
SetGadgetData(#language, 2)
SetGadgetText(#Language, "Fr")
ChangeLanguage(2)
Else
SetGadgetData(#language, 1)
SetGadgetText(#Language, "En")
ChangeLanguage(1)
EndIf
Case #Update
MessageRequester(SetText("Mise à jour","Update"), Settext("Mise à jour effectuée","Update performed"))
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver