* New LangFile.nsh macro LANGFILE_INCLUDE_WITHDEFAULT to load language file with defaults being obtained from a default file. This replaces the LANGFILE_DEFAULT setting and makes it easier to use LangFile.nsh for multiple sets of languages file without having to care about the different LANGFILE_DEFAULT settings.
* Allow LangFile.nsh to be included multiple times. git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5577 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
0d820475ae
commit
f655226380
3 changed files with 48 additions and 42 deletions
|
@ -37,21 +37,8 @@ Localization
|
|||
|
||||
LoadLanguageFile "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nlf"
|
||||
|
||||
;Set default language file for MUI and backup user setting
|
||||
!ifdef LANGFILE_DEFAULT
|
||||
!define MUI_LANGFILE_DEFAULT_TEMP "${LANGFILE_DEFAULT}"
|
||||
!undef LANGFILE_DEFAULT
|
||||
!endif
|
||||
!define LANGFILE_DEFAULT "${NSISDIR}\Contrib\Language files\English.nsh"
|
||||
|
||||
;Include language file
|
||||
!insertmacro LANGFILE_INCLUDE "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nsh"
|
||||
|
||||
;Restore user setting for default language file
|
||||
!undef LANGFILE_DEFAULT
|
||||
!ifdef MUI_LANGFILE_DEFAULT_TEMP
|
||||
!define LANGFILE_DEFAULT "${MUI_LANGFILE_DEFAULT}"
|
||||
!endif
|
||||
!insertmacro LANGFILE_INCLUDE_WITHDEFAULT "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nsh" "${NSISDIR}\Contrib\Language files\English.nsh"
|
||||
|
||||
;Add language to list of languages for selection dialog
|
||||
!ifndef MUI_LANGDLL_LANGUAGES
|
||||
|
|
|
@ -2077,21 +2077,8 @@ Var MUI_TEMP2
|
|||
|
||||
LoadLanguageFile "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nlf"
|
||||
|
||||
;Set default language file for MUI and backup user setting
|
||||
!ifdef LANGFILE_DEFAULT
|
||||
!define MUI_LANGFILE_DEFAULT_TEMP "${LANGFILE_DEFAULT}"
|
||||
!undef LANGFILE_DEFAULT
|
||||
!endif
|
||||
!define LANGFILE_DEFAULT "${NSISDIR}\Contrib\Language files\English.nsh"
|
||||
|
||||
;Include language file
|
||||
!insertmacro LANGFILE_INCLUDE "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nsh"
|
||||
|
||||
;Restore user setting for default language file
|
||||
!undef LANGFILE_DEFAULT
|
||||
!ifdef MUI_LANGFILE_DEFAULT_TEMP
|
||||
!define LANGFILE_DEFAULT "${MUI_LANGFILE_DEFAULT}"
|
||||
!endif
|
||||
!insertmacro LANGFILE_INCLUDE_WITHDEFAULT "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nsh" "${NSISDIR}\Contrib\Language files\English.nsh"
|
||||
|
||||
;Add language to list of languages for selection dialog
|
||||
!ifndef MUI_LANGDLL_LANGUAGES
|
||||
|
|
|
@ -2,16 +2,32 @@
|
|||
|
||||
LangFile.nsh
|
||||
|
||||
Header file to create langauge file that can be
|
||||
Header file to create langauge files that can be
|
||||
included with a single command.
|
||||
|
||||
When LANGFILE_DEFAULT is set, missing strings will
|
||||
automatically be loaded from a default file.
|
||||
|
||||
Copyright Š 2008 Joost Verburg
|
||||
|
||||
* Either LANGFILE_INCLUDE or LANGFILE_INCLUDE_WITHDEFAULT
|
||||
can be called from the script to include a language
|
||||
file.
|
||||
|
||||
- LANGFILE_INCLUDE takes the language file name as parameter.
|
||||
- LANGFILE_INCLUDE_WITHDEFAULT takes as additional second
|
||||
parameter the default language file to load missing strings
|
||||
from.
|
||||
|
||||
* A language file start with:
|
||||
!insertmacro LANGFILE_EXT "English"
|
||||
using the same name as the standard NSIS language file.
|
||||
|
||||
* Language strings in the language file have the format:
|
||||
${LangFileString} LANGSTRING_NAME "Text"
|
||||
|
||||
*/
|
||||
|
||||
!ifndef LANGFILE_INCLUDED
|
||||
!define LANGFILE_INCLUDED
|
||||
|
||||
!macro LANGFILE_INCLUDE FILENAME
|
||||
|
||||
;Called from script: include a langauge file
|
||||
|
@ -26,23 +42,37 @@ Copyright
|
|||
!include "${FILENAME}"
|
||||
!undef LANGFILE_SETNAMES
|
||||
|
||||
;Include default language for missing strings
|
||||
|
||||
!ifdef LANGFILE_DEFAULT
|
||||
!include "${LANGFILE_DEFAULT}"
|
||||
!endif
|
||||
|
||||
;Create language strings
|
||||
|
||||
!undef LangFileString
|
||||
!define LangFileString "!insertmacro LANGFILE_LANGSTRING"
|
||||
!include "${FILENAME}"
|
||||
|
||||
!ifdef LANGFILE_DEFAULT
|
||||
!include "${LANGFILE_DEFAULT}"
|
||||
!else
|
||||
!include "${FILENAME}"
|
||||
!macroend
|
||||
|
||||
!macro LANGFILE_INCLUDE_WITHDEFAULT FILENAME FILENAME_DEFAULT
|
||||
|
||||
;Called from script: include a langauge file
|
||||
;Obtains missing strings from a default file
|
||||
|
||||
!ifdef LangFileString
|
||||
!undef LangFileString
|
||||
!endif
|
||||
|
||||
!define LangFileString "!insertmacro LANGFILE_SETSTRING"
|
||||
|
||||
!define LANGFILE_SETNAMES
|
||||
!include "${FILENAME}"
|
||||
!undef LANGFILE_SETNAMES
|
||||
|
||||
;Include default language for missing strings
|
||||
!include "${FILENAME_DEFAULT}"
|
||||
|
||||
;Create language strings
|
||||
!undef LangFileString
|
||||
!define LangFileString "!insertmacro LANGFILE_LANGSTRING"
|
||||
!include "${FILENAME_DEFAULT}"
|
||||
|
||||
!macroend
|
||||
|
||||
!macro LANGFILE IDNAME NAME
|
||||
|
@ -99,3 +129,5 @@ Copyright
|
|||
!undef "${NAME}"
|
||||
|
||||
!macroend
|
||||
|
||||
!endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue