В общем, оказывается настройки выбора языка нужно держать в отдельном ini файле, что тоже не отражено в справке и примере. Примера для перевода из файлов вообще нет. Вернее не было до сих пор)
Вот он, радуйтесь жизни, хиасмята и хиасмисты)
Add(MainForm,89870,21,105)
{
Left=20
Top=105
Width=319
Height=174
link(onCreate,10808718:doRead,[(223,125)(223,153)])
}
Add(Translator,13244755,322,140)
{
LangWords=['Edit'="",'Label'="",'This example show how you can add multi language in your HiAsm project'="",'Hello world'=""]
Place=1
Key="Settings.ini"
Section="lng"
LangsDir="lng"
}
Add(Edit,6652430,189,56)
{
Left=150
Top=25
Width=60
MakeTrans(Text)
}
Add(Label,8717120,133,56)
{
Left=80
Top=30
Width=30
Height=19
Font=[MS Sans Serif,8,0,0,204]
MakeTrans(Caption)
}
Add(Label,8392555,161,98)
{
Left=35
Top=65
Width=237
Height=42
Caption="This example show how you can add multi language in your HiAsm project"
AutoSize=1
MakeTrans(Caption)
}
Add(InfoTip,15815105,105,35)
{
Info=#18:static translation|
Width=155
Height=109
}
Add(Button,14674692,112,203)
{
Left=85
Top=115
link(onClick,7292687:doStrCat,[])
}
Add(Label,9255622,210,203)
{
Left=155
Top=120
Caption="------"
}
Add(StrCat,7292687,161,203)
{
Str1="Hello world"
MakeTrans(Str1)
link(onStrCat,9255622:doText,[])
}
Add(InfoTip,3445379,105,154)
{
Info=#19:dynamic translation|
Width=155
Height=109
}
Add(ComboBox,3082901,322,56)
{
Left=5
Top=5
Width=40
Height=21
Strings=#2:ru|2:en|2:cn|
DataType=1
Point(doSelectString)
link(onClick,10808718:doWrite,[(373,69)(373,160)])
}
Add(Ini,10808718,392,147)
{
FileName="Settings.ini"
Section="lng"
Key="tr"
Type=1
link(onResult,3082901:doSelectString,[(436,153)(436,121)(310,121)(310,90)])
link(Value,3082901:String,[(419,121)(335,121)])
}
После смены языка путем выбора его из списка, перезапускаем программу.
https://forum.hiasm.com/getfile/38953