language data change example?

Windows specific forum
ehowington
Enthusiast
Enthusiast
Posts: 117
Joined: Sat Sep 12, 2009 3:06 pm

language data change example?

Post by ehowington »

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?
User avatar
falsam
Enthusiast
Enthusiast
Posts: 632
Joined: Wed Sep 21, 2011 9:11 am
Location: France
Contact:

Re: language data change example?

Post by falsam »

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

➽ Windows 11 64-bit - PB 6.21 x64 - AMD Ryzen 7 - NVIDIA GeForce GTX 1650 Ti

Sorry for my bad english and the Dunning–Kruger effect 🤪
User avatar
luis
Addict
Addict
Posts: 3895
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy

Re: language data change example?

Post by luis »

http://www.purebasic.fr/english/viewtop ... 73#p191073

Change "Read" with "Read.s" (the code is for a older PB version)
"Have you tried turning it off and on again ?"
ABBKlaus
Addict
Addict
Posts: 1143
Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany

Re: language data change example?

Post by ABBKlaus »

You can take TailBite as an example for this masterpiece of code :wink:
(the link that luis had posted)
Post Reply