Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


Последнее время мне часто задают вопросы: как поместить свой текст описания, в зависимости от выбранного языка установщика?
Для этих целей служит команда LangString
Код: Выделить весь код
 LangString message ${LANG_ENGLISH} "English message"
 LangString message ${LANG_FRENCH} "French message"
 LangString message ${LANG_KOREAN} "Korean message"
 MessageBox MB_OK "A translated message: $(message)"
В отличии от определения констант (defines) использующие изогнутые скобы - {}, здесь используются круглые скобки - ().
Всегда устанавливайте текст описания строки для каждого языка в вашем скрипте.
Пример многоязычного инсталлятора посмотрите C:\Program Files\NSIS\Examples\Modern UI\MultiLanguage.nsi
читать дальше »
Код: Выделить весь код
  !include "MUI2.nsh"
  Caption "MultiLanguage Modern UI Test"
  Name "MultiLanguage Test"
  OutFile "Test MultiLanguage.exe"
;--------------------------------
 !define MUI_WELCOMEPAGE_TITLE "$(WELCOMEPAGE_TITLE)"
 !define MUI_WELCOMEPAGE_TEXT "$(WELCOMEPAGE_TEXT)"
;--------------------------------
 !define MUI_FINISHPAGE_TITLE "$(FINISHPAGE_TITLE)"
 !define MUI_FINISHPAGE_TEXT "$(FINISHPAGE_TEXT)"
;--------------------------------
  !define MUI_COMPONENTSPAGE_SMALLDESC
;--------------------------------
  !insertmacro MUI_PAGE_WELCOME
  !insertmacro MUI_PAGE_COMPONENTS
  !insertmacro MUI_PAGE_INSTFILES
  !insertmacro MUI_PAGE_FINISH
;--------------------------------
  !insertmacro MUI_LANGUAGE "Russian" ;first language is the default language
  !insertmacro MUI_LANGUAGE "English" 
  !insertmacro MUI_RESERVEFILE_LANGDLL
;--------------------------------
 Function .onInit
   !insertmacro MUI_LANGDLL_DISPLAY
 FunctionEnd
;--------------------------------
 Section "$(NAME_SECTION)" SecDummy
    MessageBox MB_ICONINFORMATION|MB_OK "$(Text_MessageBox)"
 SectionEnd
 
;--------------------------------------------------------------------
;Текст описания странички приветствия
LangString WELCOMEPAGE_TITLE ${LANG_RUSSIAN} "ДОБРО ПОЖАЛОВАТЬ!"
LangString WELCOMEPAGE_TITLE ${LANG_ENGLISH} "WELCOME!"
LangString WELCOMEPAGE_TEXT ${LANG_RUSSIAN} "Это пример показывает как поместить свой текст описания в \
                                            зависимости от выбранного языка инсталлятора!$\r$\n$\r$\n$_CLICK"
LangString WELCOMEPAGE_TEXT ${LANG_ENGLISH} "This example shows how to put your text descriptions, \
                                             depending on the selected language installer!$\r$\n$\r$\n$_CLICK"
;--------------------------------------------------------------------
;Текст описания странички завершения
LangString FINISHPAGE_TITLE ${LANG_RUSSIAN} "ЭТО СТРАНИЦА ЗАВЕРШЕНИЯ!"
LangString FINISHPAGE_TITLE ${LANG_ENGLISH} "COMPLETION OF THIS PAGE!"
LangString FINISHPAGE_TEXT ${LANG_RUSSIAN} "Теперь вы знаете как поместить свой текст описания в \
                                            зависимости от выбранного языка установщика!$\r$\n$\r$\nНажмите кнопку $\"Готово$\" \
                                            для выхода из программы установки."
                                            
LangString FINISHPAGE_TEXT ${LANG_ENGLISH} "Now you know how to put your descriptive text depending on \
                                            the language of the installer!$\r$\n$\r$\nClick Finish to close this wizard."
;--------------------------------------------------------------------
;Текст сообщения
LangString TEXT_MESSAGEBOX ${LANG_RUSSIAN} "Выбран Русский язык установщика!$\r$\n ID языка: $LANGUAGE"
LangString TEXT_MESSAGEBOX ${LANG_ENGLISH} "The English language installer!$\r$\n ID language: $LANGUAGE"
;--------------------------------------------------------------------
;Текст названия(имя) секции
LangString SECTION ${LANG_RUSSIAN} "Русское описание секции"
LangString SECTION ${LANG_ENGLISH} "The English description of section"
;Текст описания секции
LangString NAME_SECTION ${LANG_RUSSIAN} "Это русское название секции"
LangString NAME_SECTION ${LANG_ENGLISH} "This is the english name of the section"
;Макрос, который показавает текст описания секции
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
  !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(SECTION)
!insertmacro MUI_FUNCTION_DESCRIPTION_END

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:43, 28-11-2010 | #903