IniVar= ( [lang] actualLang=fr possibleLangs=de,en,fr [de] OptionsLang = deutsch OptionsGroupBox= hallo suesse OptionsGroupBox1=Sprachauswahl testvar2=zagen testvar=bratwurst changelang=weiter MenulanguageTitel=Sprachauswahl open=Oeffnen Ctrl+O File=Datei de exit=E&nde lv1=eins lv2=zwei lv3=drei lv4=vier [en] OptionsLang=english OptionsGroupBox= hallo sweety OptionsGroupBox1=english testvar2=hesitate testvar=fried sausage changelang=OK MenulanguageTitel=Languages open=Open Ctrl+O File=File exit=E&xit lv1=one lv2=two lv3=three lv4=four [fr] OptionsLang = france OptionsGroupBox= halo douceur OptionsGroupBox1=francois testvar2= testvar=fried sausage changelang=Oui MenulanguageTitel=Language open=Ouvre Ctrl+O File=Fichier exit=&fin lv1=un lv2=deux lv3=trois lv4=quatre [kl] OptionsLang = france OptionsGroupBox= halo douceur OptionsGroupBox1=francois testvar2= testvar=fried sausage changelang=Oui MenulanguageTitel=Language open=Ouvre Ctrl+O File=Fichier exit=&fin lv1=un lv2=deux lv3=trois lv4=quatre ) ; INIfile = test.ini ; IfNotExist, %INIfile% ; FileAppend, %IniVar%,%INIfile% ; Else ; FileRead, IniVar, %iniFile% ; Aus inivar werden zunächst alle möglichen Sprachen ; und die aktuelle Sprache bestimmt. Dann werden alle Variablen ; der aktuellen Sprache zugewiesen. ; updateLang ist das Label in dem den Controls neuer text zugewiesen wird ; You get the actual language out of inivar, and set all vars for that language. ; "updateLang" is the label where you later change the Languages ; "MyMenu" is the name of the MenuBar (if you're using one) ;------------------------------------------ LangHelp_LoadLanguageVars(IniVar,"updateLang","MyMenu") ;------------------------------------------ Gui,Add, text, vOptionsLang w300, OptionsLang=%OptionsLang% Gui,Add, text, vOptionsGroupBox w300, OptionsGroupBox=%OptionsGroupBox% Gui,Add, text, vOptionsGroupBox1 w300, OptionsGroupBox1=%OptionsGroupBox1% Gui,Add, text, vtestvar2 w300, testvar2=%testvar2% Gui,Add, text, vtestvar w300, testvar2=%testvar% Gui,Add, button, vchangelang w60, %changelang% Gui,Add, text, , Gui, Add, ListView, vList xm w300 r3, %LV1%|%LV2%|%LV3%|%LV4% Gui,Add, text, , Menu, FileMenu, Add, &%open% , void Menu, FileMenu, Add, %exit%, void Menu, HelpMenu, Add, &About , void Menu, MyMenu, Add, %File%, :FileMenu Menu, MyMenu, Add, &Help, :HelpMenu Gui, Menu, MyMenu ;------------------------------------------ ; beim Wechsel der Sprache müssen die alten Menünamen gespeichert werden ; by changing the Language you've to remember the old menus. menufile=%file% menuopen=%Open% menuexit=%exit% ; Es wird ein menu, ein traymenu und eine Leiste aus radiobuttons gebildet. ; Menualt ist wieder ein Merker für den alten MenulanguageTitel ; MenulanguageTitel ist der Name für das Sprachmenu ; You make a menubar, a traymenu and a bar of radiobuttons ; Menualt remembers the Titel of the menus ; Menualt := LangHelp_showLangTrayMenu(possibleLangs, MenulanguageTitel) LangHelp_showLangMenu(possibleLangs, MenulanguageTitel) LangHelp_showLangRadioMenu(possibleLangs, actualLang) ;------------------------------------------ Gui,Show, ,Language - Sprache Return /* ;------------- minimum Version------------------ ;Wenn die Sprache erst durch Neuladen verändert werden soll ;reicht das ;If you don't want to update immediately you can reload the script. updateLang: IniWrite, %actualLang%, %INIfile%, lang, actualLang reload return */ updateLang: ;---this is up to yours ---------------------- ; Hier müssen die eigenen Controls aktualisiert werden ; you can update your controls immediately GuiControl, ,OptionsLang, OptionsLang=%OptionsLang% GuiControl, ,OptionsGroupBox, OptionsGroupBox=%OptionsGroupBox% GuiControl, ,OptionsGroupBox1, OptionsGroupBox1=%OptionsGroupBox1% GuiControl, ,testvar2, testvar2=%testvar2% GuiControl, ,testvar, testvar=%testvar% GuiControl, ,changelang, %changelang% ;bei menu änderungen muss man sich den alten namen merken ;außerdem dürfen alter und neuer name nicht gleich sein ;For changing menus you need the old and the new menutext ; old and new menu can't be equal (I don't know why) If (menufile<>file) Menu, MyMenu, Rename, %menufile%, %file% menufile=%file% If (menuopen<>open) Menu, FileMenu, Rename, &%menuopen%, &%open% menuopen=%open% If (menuexit<>exit) Menu, FileMenu, Rename, %menuexit%, %exit% menuexit=%exit% LV_ModifyCol(1,"40", LV1) LV_ModifyCol(2,"40", LV2) LV_ModifyCol(3,"40", LV3) LV_ModifyCol(4,"60", LV4) Return ^o:: void: msgbox, hallo return esc:: GuiEscape: GuiClose: ExitApp Return #include LangHelp.ahk