home *** CD-ROM | disk | FTP | other *** search
- /*
-
- LangFile.nsh
-
- Header file to create langauge files that can be
- included with a single command.
-
- Copyright 2008-2009 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
-
- !ifdef LangFileString
- !undef LangFileString
- !endif
-
- !define LangFileString "!insertmacro LANGFILE_SETSTRING"
-
- !define LANGFILE_SETNAMES
- !include "${FILENAME}"
- !undef LANGFILE_SETNAMES
-
- ;Create language strings
-
- !undef LangFileString
- !define LangFileString "!insertmacro LANGFILE_LANGSTRING"
- !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
-
- ;Start of standard NSIS language file
-
- !ifdef LANGFILE_SETNAMES
-
- !ifdef LANGFILE_IDNAME
- !undef LANGFILE_IDNAME
- !endif
-
- !define LANGFILE_IDNAME "${IDNAME}"
-
- !ifndef "LANGFILE_${IDNAME}_NAME"
- !define "LANGFILE_${IDNAME}_NAME" "${NAME}"
- !endif
-
- !endif
-
- !macroend
-
- !macro LANGFILE_EXT IDNAME
-
- ;Start of installer language file
-
- !ifdef LANGFILE_SETNAMES
-
- !ifdef LANGFILE_IDNAME
- !undef LANGFILE_IDNAME
- !endif
-
- !define LANGFILE_IDNAME "${IDNAME}"
-
- !endif
-
- !macroend
-
- !macro LANGFILE_SETSTRING NAME VALUE
-
- ;Set define with translated string
-
- !ifndef ${NAME}
- !define "${NAME}" "${VALUE}"
- !endif
-
- !macroend
-
- !macro LANGFILE_LANGSTRING NAME DUMMY
-
- ;Create a language string from a define and undefine
-
- LangString "${NAME}" "${LANG_${LANGFILE_IDNAME}}" "${${NAME}}"
- !undef "${NAME}"
-
- !macroend
-
- !endif
-