Префикс «Заголовок и текст» на экране «Готово» для русской локали показывает некоторые ненужные символы вместе с русскими символами, использующими NSIS - PullRequest
0 голосов
/ 26 мая 2019

При установке установщика с использованием NSIS на русский компьютер, для заголовка и текста префикс показывает некоторые ненужные символы вместе с русскими символами.

В основном файле .nsi для русского языкаВ переводе я включаю приведенный ниже файл nsh.

!include "CustomRussian.nsh"

Файл CustomRussian.nsh подобен показанному ниже:

!insertmacro MUI_LANGUAGE "Russian"

LangString welcometitle ${LANG_RUSSIAN} "Мастер установки Powechute Personal Edition"
LangString welcometext ${LANG_RUSSIAN} 'Мастер установки установит Powechute Personal Edition на ваш компьютер. Нажмите кнопку "Далее" для продолжения или кнопку "Отмена" для завершения работы мастера.'

Это потому, чтоРусский переведенный текст некорректно размещается в полях MUI_FINISHPAGE_TITLE и MUI_FINISHPAGE_TEXT или есть какая-то другая причина?

А также для вашей информации, если я открою файл CustomRussian.nsh с помощью блокнота, он показывает заголовок и текст правильно.

Может ли кто-нибудь подсказать мне причину этой проблемы?

Обновлен код исследования:

В файле CustomRussian.nsi:мы определяем переменную ApplicationNameRussian и используем ее в строках (как показано ниже).Это вызывает проблему с выравниванием.

Теперь вместо использования переменной я заменяю текст «PowerChute Personal Edition», и он работает.

!insertmacro MUI_LANGUAGE "Russian"

!define ApplicationNameRussian   "PowerChute Personal Edition"

Существующий код:

LangString Finishpagetitle ${LANG_RUSSIAN} 'Работа мастера установки ${ApplicationNameRussian} завершена'
LangString Finishpagesubtitle ${LANG_RUSSIAN} 'Для завершения работы мастера установки нажмите кнопку "Готово".'

После исправления:

LangString Finishpagetitle ${LANG_RUSSIAN} 'Работа мастера установки PowerChute Personal Edition завершена'
LangString Finishpagesubtitle ${LANG_RUSSIAN} 'Для завершения работы мастера установки нажмите кнопку "Готово".'

Когда я запускаю этот скрипт, он отлично работает на моей 64-битной машине.Но в моей 32-разрядной сборочной машине я все еще вижу эту проблему.

Когда она работает, она выглядит так, как показано на рисунке ниже.

enter image description here

Но когда он не работает, он меняет выравнивание.

...