При установке установщика с использованием 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-разрядной сборочной машине я все еще вижу эту проблему.
Когда она работает, она выглядит так, как показано на рисунке ниже.
Но когда он не работает, он меняет выравнивание.