Archive: LangString problems


---
!define MUI_FINISHPAGE
!define MUI_FINISHPAGE_RUN "$INSTDIR\app\${PROGMAINEXE}"
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\$(README)"

LangString README ${LANG_ENGLISH} "${README_ENU}"
LangString README ${LANG_TRADCHINESE} "${README_CHT}"
LangString README ${LANG_SIMPCHINESE} "${README_CHS}"
---

Sorry, this maybe a very simple question under Modern UI 1.62.

Above script to add a README in 3 langs, but not work at all. Display with error message. Dear Joost, would you write an example for followed webpage ?

${NSISDIR}\Contrib\Modern UI\Readme.html
(for showing different README file for different OS language.)


Read the NSIS docs. You cannot combine a LangString and something else in one string. So you should add the $INSTDIR\ part to the LangString.


such as following?
---
!define MUI_FINISHPAGE_SHOWREADME $(README)

LangString README ${LANG_ENGLISH} "$INSTDIR\${README_ENU}"
---

I have tried it. But appeared as following.

"LangString "README" is not present in all language tables!"

Would you please write some example line for multi-README?



LangString README ${LANG_ENGLISH} "$INSTDIR\Readme_en.txt"
LangString README ${LANG_DUTCH} "$INSTDIR\Readme_nl.txt"

!define MUI_FINISHPAGE_SHOWREADME "$(README)"

It seems strange afterfor trying again. Even though I put LangString before !define or after !define. :(

"LangString "README" is not present in all language tables!"

It might be better in "Modern UI" part, to add a *.NSI for demo multi-README , multi-license, multi-run_after_install, and so on.

For Example, I have already wirte a multi-registry. For your reference , maybe my writing skill is stupid. I wish if there will have a good style for writing multi-lang-part.

;------------------------------------------
!macro MUI_REGMUI1 LANGID TEXT

StrCmp $LANGUAGE ${LANGID} "" +3
${TEXT}

!macroend

!insertmacro MUI_REGMUI1 1033 'WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" "Comments" "Chinese (P.R.C.) and Chinese (Taiwan) ${MUI_PRODUCT} localized version by Kii Ali, for Mailer Daemon with win32 plateform." '

!insertmacro MUI_REGMUI1 1028 'WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" "Comments" "¤¤¤å (¤¤°ê¤j³°) »P ¤¤¤å (»OÆW) ${MUI_PRODUCT} ¥»¦a¤Æª©¥»¡A¥Ñ Kii Ali »s§@¡A¥Î©ó win32 ¥_»O¬[³]_Ó¤H©Î¤½¥qªº«H¥ó¦øªA¾¹¡C" '

!insertmacro MUI_REGMUI1 2052 'WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" "Comments" "ÖÐÎÄ (Öйú´ó½) Óë ÖÐÎÄ (̨Íå) ${MUI_PRODUCT} ±¾µØ»¯°æ±¾£¬ÓÉ Kii Ali ÖÆ×÷£¬ÓÃÓÚ win32 ƽ̨¼ÜÉè¸öÈË»ò¹«Ë¾µÄÓʼþ·þÎñÆ÷¡£" '


That warning means that you did not create a LangString for every language included in the installer.