Многоязычный инсталлятор: Вопрос

alexalsp

Новичок
Добрый вечер всем. Подскажите. как можно сделать, что бы при выборе языка, к примеру английского, весь текст менялся на английский, имею ввиду не только инсталлятора по умолчанию (это и так понятно), но и текстов раздела Components.

Name: "comp1\comp_1"; Description: "Сборник программ."; Types: full custom; Flags: disablenouninstallwarning
Name: "comp1\comp_1\demo"; Description: "Программа 1"; Types: full custom; Flags: disablenouninstallwarning

eng

Name: "comp1\comp_1"; Description: "Program collection."; Types: full custom; Flags: disablenouninstallwarning
Name: "comp1\comp_1\demo"; Description: "Program 1"; Types: full custom; Flags: disablenouninstallwarning

Если я выбрал установку на английском то должен этот текст , естественно если он будет, быть на английском, немецком короче на любом языке.

Возможно ли это сделать и как ?

И так же что бы InfoBeforeFile тоже брался в зависимости от языка.

Заранее спасибо. Надеюсь не придется стопятсот страниц кода для этого писать... ))
 
Последнее редактирование:

Andreo Fadio

Старожил
Возможно ли это сделать и как ?

И так же что бы InfoBeforeFile тоже брался в зависимости от языка.
Код:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.\
;InfoBeforeFile=...

[Languages]
Name: eng; MessagesFile: compiler:Default.isl; InfoBeforeFile: infoEng.txt;
Name: rus; MessagesFile: compiler:Languages\Russian.isl; InfoBeforeFile: infoRus.txt;

[CustomMessages]
eng.ISCM01=Full installation
eng.ISCM02=Custom installation
eng.ISCM03=Which component would you like to install?
eng.ISCM04=Some Component 1
eng.ISCM05=Some component 2
rus.ISCM01=Полная установка
rus.ISCM02=Выборочная установка
rus.ISCM03=Какой компонент хотите установить?
rus.ISCM04=Какой-то компонент 1
rus.ISCM05=Какой-то компонент 2

[Types]
Name: "ful"; Description: "{cm:ISCM01}"
Name: "full"; Description: "{cm:ISCM02}"; Flags: iscustom

[Components]
Name: "game"; Description: "{cm:IScm03}"; Types: full ful; Flags: fixed
Name: "game/0"; Description: "{cm:IScm04}"; Types: full ful; Flags: exclusive
Name: "game/1"; Description: "{cm:IScm05}"; Types: full; Flags: exclusive
 

alexalsp

Новичок
Здесь реализация переключения языка на "лету".
Спасибо, но с 2014 года меня так и не перевели в группу где можно скачивать что то :D

Способа от
Andreo Fadio
вполне хватило, правда пришлось поэкспериментировать.

Тогда еще вопрос в догонку, как ветку исключить . для какого либо языка?

к примеру

1 - софт русский
2) софт английский
3- совт немецкий

если я выбираю русский язык то пункт 2 и 3 не отображаются или хотя бы были заблокированы.

Выбрал английский2 - пункт 1 и 3 нет либо заблочены, ну и тд.

Я конечно могу выкрутиться и сделать разбивку длоя языков отдельными ветками, но такая ситуевина, что это лишнее и проще просто скрыть не выводить, если возможно.
 

Andreo Fadio

Старожил
@alexalsp,
Код:
[Setup]
AppName=My Application
AppVersion=1.5
CreateAppDir=no

[Languages]
Name: eng; MessagesFile: compiler:Default.isl;
Name: rus; MessagesFile: compiler:Languages\Russian.isl;
Name: ger; MessagesFile: compiler:Languages\German.isl;

[Components]
Name: "rus"; Description: "софт рус"; Types: full; Languages: rus
Name: "eng"; Description: "soft eng"; Types: full; Languages: eng
Name: "ger"; Description: "soft ger"; Types: full; Languages: ger
 

alexalsp

Новичок
Я только об этом подумал, попробовать когда проснусь:D

Спасибо. Самое то, что нужно было.
 
Сверху