Как я могу переписать предопределенные сообщения для WelcomePage на разных языках в Inno Setup? - PullRequest
1 голос
/ 13 марта 2020

У меня есть 3 языка, и мне нужно изменить AppName в соответствии с языком, который я выбрал. Я написал это:

[Setup]
AppName={code:GetMyAppName}

[Code] 
function GetMyAppName(param : String) : String;
begin
  case ActiveLanguage of
    'en': Result := 'AB Office Client';
    'ru': Result := 'Клиент АБ Офис';
    'ua': Result := 'Клієнт АБ Офіс';
  end;   
end;

И вот у меня есть мой зависящий от языка раздел [Messages]:

[Messages]
en.WelcomeLabel1=Welcome to [APPNAME] Setup program. This program will install [APPNAME] on your computer.
ru.WelcomeLabel1=Вас приветствует программа установки [APPNAME] Эта программа установит [APPNAME] на Ваш компьютер.
ua.WelcomeLabel1=Вас вітає програма встановлення [APPNAME]. Ця програма встановить [APPNAME] на Ваш комп'ютер.

Мой вопрос: как я могу передать результат функции GetMyAppName к [APPNAME]? Я мог бы сделать это, вставив ранее определенную константу, такую ​​как {#AppName}, но я не могу использовать функции из секции [Code] с директивами препроцессора. Тот же вопрос, когда я использую [CustomeMessages] вместо этого. Например:

[Setup]
AppName={cm:AppName}

[CustomMessages]
en.AppName=AB Office Client
ru.AppName=Клиент АБ Офис
ua.AppName=Клієнт АБ Офіс

Кроме того, я знаю, что в разделе [Messages] есть некоторые аргументы %1 и %2, но я понятия не имею, как их использовать. Для меня аргументы %1 и %2 просто не будут перенесены в AppName и AppVersion соответственно. Они просто остаются как %1 и %2. И, наконец, изменение файла .isl вручную - не вариант для меня. Буду очень признателен за вашу помощь. Хорошего дня.

1 Ответ

0 голосов
/ 13 марта 2020

Значения по умолчанию:

WelcomeLabel1=Welcome to the [name] Setup Wizard
WelcomeLabel2=This will install [name/ver] on your computer.%n%nIt is recommended that you close all other applications before continuing.

Так что просто следуйте этому - используйте [name] и [name/ver] заполнители в ваших переводах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...