Skip to content
⌘ NSIS Forum Archive

Multilingual Readme (again), please help me

2 posts

AleksR#

Multilingual Readme (again), please help me

Try use Readme Page Based on MUI License Page


My code:

!define MyReadme "ReadmeEnglish.rtf"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_README "$(MyReadme)"
;!insertmacro MUI_PAGE_README "ReadmeEnglish.rtf"
!insertmacro MUI_PAGE_LICENSE "$(MyLicense)"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
;------------------------------------------------------------------------------
!insertmacro MUI_LANGUAGE "English"
${ReadmeLanguage} '${LANG_ENGLISH}' \
          'Read Me' \
          'Please review the following important information.' \
          'About $(^name):' \
          '$\n  Click on scrollbar arrows or press Page Down to review the entire text.'
  ${Un.ReadmeLanguage} '${LANG_ENGLISH}' \
          'Read Me' \
          'Please review the following important Uninstall information.' \
          'About $(^name) Uninstall:' \
          '$\n  Click on scrollbar arrows or press Page Down to review the entire text.'
;------------------------------------------------------------------------------
!insertmacro MUI_LANGUAGE "Russian" 
${ReadmeLanguage} '${LANG_RUSSIAN}' \
          'Read Me' \
          'Please review the following important information.' \
          'About $(^name):' \
          '$\n  Click on scrollbar arrows or press Page Down to review the entire text.'
  ${Un.ReadmeLanguage} '${LANG_RUSSIAN}' \
          'Read Me' \
          'Please review the following important Uninstall information.' \
          'About $(^name) Uninstall:' \
          '$\n  Click on scrollbar arrows or press Page Down to review the entire text.'
;------------------------------------------------------------------------------
!insertmacro MUI_RESERVEFILE_LANGDLL
LicenseLangString MyLicense ${LANG_ENGLISH} "LicenseEnglish.rtf"
LicenseLangString MyLicense ${LANG_RUSSIAN} "LicenseRussian.rtf"
LicenseData $(MyLicense)
LangString $(MyReadme) ${LANG_ENGLISH} "ReadmeEnglish.rtf"
LangString $(MyReadme) ${LANG_RUSSIAN} "ReadmeRussian.rtf"
....
Function .onInit
  !insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
.... 
Multilingual License is ok, but Multilingual Readme is empty (text empty). Where an error?

If to make so:
!insertmacro MUI_PAGE_README "ReadmeEnglish.rtf"
instead of:
!insertmacro MUI_PAGE_README "$(MyReadme)"
the page is displayed correctly, but always in English.

Help me, please. How correctly to make multilingual Readme page ?
Red Wine#
What is $(MyReadme) anyway? If it's a definition, it has to be defined on your definitions table e.g.
!define MYREADME "local_path_to_text_or_rtf_file"
and use it later as,
!insertmacro MUI_PAGE_README "${MYREADME}"

The way you use it is referring to a lang string which also has to be defined on your lang strings table therefore it represents a specific language string and not the path to a local file.