Archive: Problem with multilingual interface


Problem with multilingual interface
I want to make multilingual installer in classic view.
So when it's only one language - it's ComponentText "text" "subtext" "subtext2"
When there are more then one languages -
LangString ^ComponentsText ${LANG_RUSSIAN} "text"
But how to translate "subtext" and "subtext2"? Maybe it's simple but I can't find that in help file and on forum.
And the same about DirText.


Try

LangString ^ComponentsText ${LANG_RUSSIAN} "text" "subtext" "subtext2"

-Stu


And NSIS shows to me:
"LangString expects 3 parameters, got 5.
Usage: LangString [un.]name lang_id string"

I can directly modify Language files , but I don't think its right way to solve this problem.


LangString TEXT_IO_TITLE ${LANG_RUSSIAN} "Some text"
LangString TEXT_IO_SUBTITLE ${LANG_RUSSIAN} "Some text"

then in section...

!insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)"

maybe something like this?


Simply create three language strings and pass them to ComponentText. If you want to work with the inner language strings, see <nsis directory>\Source\lang.cpp for a copmlete list.


Thank's, razor_x! Thats a good idea. And it works!

In classic face it is:
LangString Text ${LANG_ENGLISH} "text"
LangString SubText ${LANG_ENGLISH} "Subtext"
LangString SubText2 ${LANG_ENGLISH} "Subtext2"

LangString Text ${LANG_RUSSIAN} "text-rus"
LangString SubText ${LANG_RUSSIAN} "Subtext-rus"
LangString SubText2 ${LANG_RUSSIAN} "Subtext2-rus"

ComponentText $(Text) $(SubText) $(Subtext2)