В моей программе установки я не хочу использовать стандартную форму диалога языка.Inno Setup: измените язык установки во время установки
Вместо этого я хочу, чтобы добавить выпадающий на первую страницу моей установки Inno, чтобы сделать ту же работу, внесенный языком диалога, так что она способна:
показать все языки, включенными в раздел
[Languages]
в выпадающем списке. Таким образом, пользователь может выбрать язык из этого пользовательского combobox.примените выбранный язык к всей настройке.
Я знаю, что это невозможно, используя «обычный способ», потому что в Inno Setup нет функций для выполнения этого задания (!!!).
Так что, я добавил несколько функций компилятора Setup Inno и я называю их из моего сценария:
function GetAvailableLanguages: TStringList
: он способен вернуть список всех активных языков (полные данные), и он отлично работает.procedure SetChosenLanguage(const I:integer)
: он должен установить выбранный язык, и он работает, но теперь только «частично». Язык изменяется для всех, НО метки на всех страницах установки. Итак, надписи кнопок, окна сообщений, диалоговые окна ... все имеет язык, выбранный для выбранного, но все метки по-прежнему находятся на языке по умолчанию (OS).
Я пытался решить с помощью Refresh
, Invalidate
, Update
, отправлять сообщения без какого-либо успеха. Подписи подписи по-прежнему находятся на исходном языке по умолчанию.
Ниже приведено видео, показывающее мою тестовую настройку с изменением списков и языков. Мой язык по умолчанию (OS) - итальянский. Видео показывает, что, даже если я изменю язык, например, на Deutsch, все изменит язык на Deustch, но на этикетках.
http://screencast.com/t/SDI5VN67LFL
Если кто-то уже решил проблему, пожалуйста, помогите мне!
Большое спасибо. Немного длиннее, чтобы реализовать, но образец, который я сделал, работает как charme! – radiolondra57