gMgmc, Welcome to the AutoIt forum. Answer to your first question - do something like this: #include <GUIConstantsEx.au3>
$sLanguage = IniRead("language.ini", "Current", "Language", "English")
$sOne = IniRead("language.ini", $sLanguage, "One", "One")
$sTwo = IniRead("language.ini", $sLanguage, "Two", "Two")
$sThree = IniRead("language.ini", $sLanguage, "Three", "Three")
$hGUI = GUICreate("Test", 500, 500)
$hLabel_1 = GUICtrlCreateLabel($sOne, 10, 10, 100, 20)
$hLabel_2 = GUICtrlCreateLabel($sTwo, 10, 50, 100, 20)
$hLabel_3 = GUICtrlCreateLabel($sThree, 10, 90, 100, 20)
$hCombo = GUICtrlCreateCombo("", 10, 150, 200, 20)
GUICtrlSetData(-1, "English|Deutch|Francais", "English")
$hButton = GUICtrlCreateButton("Set", 10, 180, 80, 30)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $hButton
$sLanguage = GUICtrlRead($hCombo)
IniWrite("language.ini", "Current", "Language", $sLanguage)
$sOne = IniRead("language.ini", $sLanguage, "One", "One")
GUICtrlSetData($hLabel_1, $sOne)
$sTwo = IniRead("language.ini", $sLanguage, "Two", "Two")
GUICtrlSetData($hLabel_2, $sTwo)
$sThree = IniRead("language.ini", $sLanguage, "Three", "Three")
GUICtrlSetData($hLabel_3, $sThree)
EndSwitch
WEndand use something like this as the ini file: [Current]
Language=English
[English]
One=One
Two=Two
Three=Three
[Deutch]
One=Ein
Two=Zwei
Three=Drei
[Francais]
One=Un
Two=Deux
Three=TroisAs to the second question - _About runs a MessageBox and everything else in the script will pause until you close it. So the short answer to you question is: "You cannot!" By the way, your code is pretty messed up. You are restarting the _Main function via _Start and _Pause before you end either. This is known as recursion and will lead into BIG trouble. You need to get back to _Main using Return or having the functions end naturally, not calling it again. Perhaps if yyou posted your whole code we coudl look and see how we might get over this. M23