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

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

Аватара для K.A.V.

Ленивый кусок мяса


Contributor


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

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


Цитата AlekseyPopovv:
Мне нужно что бы при запуске программы вылазило окошко с выбором языка интерфейса »
Пишите сразу, что у вас уже есть в коде, чего нет, чтобы у вас не переспрашивали и не писали лишнюю инфу

Для начала нужно подключить нужные вам языки командами с указанием языков, например для русского и для английского:
Код: Выделить весь код
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "English"
Затем, в функции .onInit вам необходимо прописать следующую команду, чтобы пользователю был показан диалог выбора языка:
Код: Выделить весь код
  !insertmacro MUI_LANGDLL_DISPLAY
Цитата AlekseyPopovv:
Какой язык пользователь выберет »
ID выбранного языка (обратите внимание, ID, а не имя языка) хранится в переменной $Language

Какой ID соответствует конкретному языку, можно посмотреть в файле языка по пути (пример файла русского языка):
Код: Выделить весь код
\Program Files\NSIS\contrib\Language files\Russian.nlf
В начале файла увидите примерно такое содержимое:
Цитата:
# Header, don't edit
NLF v6
# Language ID
1049

# Font and size - dash (-) means default
-
-
Можно завести отдельную переменную и вручную назначить имя языка в зависимости от ID, пример:
Код: Выделить весь код
Function .onInit
  !insertmacro MUI_LANGDLL_DISPLAY
MessageBox MB_OK|MB_ICONINFORMATION "Выбран язык (ID): $Language"
Var /global Lang
StrCmp $Language "1049" 0 +2
 StrCpy $Lang "Russian"
StrCmp $Language "1033" 0 +2
 StrCpy $Lang "English"
MessageBox MB_OK|MB_ICONINFORMATION "Выбран язык: $Lang"
quit
FunctionEnd
Полный код:
читать дальше »

Код: Выделить весь код
; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Моя программа"
!define PRODUCT_PUBLISHER "Моя компания, LLC."

; MUI 1.67 compatible ------
!include "MUI.nsh"

; MUI Settings
!define MUI_ABORTWARNING

; Welcome page
!insertmacro MUI_PAGE_WELCOME
; Directory page
!insertmacro MUI_PAGE_INSTFILES

; Language files
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "English"

; MUI end ------

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "setup.exe"
InstallDir "$TEMP"

Function .onInit
  !insertmacro MUI_LANGDLL_DISPLAY
MessageBox MB_OK|MB_ICONINFORMATION "Выбран язык (ID): $Language"
Var /global Lang
StrCmp $Language "1049" 0 +2
 StrCpy $Lang "Russian"
StrCmp $Language "1033" 0 +2
 StrCpy $Lang "English"
MessageBox MB_OK|MB_ICONINFORMATION "Выбран язык: $Lang"
quit
FunctionEnd



Section "MainSection" SEC01
SectionEnd

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]


Отправлено: 15:28, 10-06-2014 | #1194