![]() |
Translation of DotNET Module
Hi,
my application for what I want to create a setup for, needs .NET Framework to run, so I added the DOTNET Modul "DotNET.nsh" (http://nsis.sourceforge.net/DotNET) to my installation. I also want to have two languages in installation (english and german). The DOTNET Module only supports one, so I replaced the stings form the DOTNET Modul with constants. My installation need these files: - setup.nsh (Main file) - DotNET.nsh - LogicLib.nsh - System.nsh - English.nsh - German.nsh In "DotNET.nsh" I changed this code: into that code: and added the definition in "English.nsh" code: and in "German.nsh" code: When I complie my script I get an error: code: Why? Many other consts were declared like this before?! Thanks a lot for any help! progger |
You need to declare a language string, not a define. The MUI macros handle that for you in Contrib\Modern UI\Language files\*.nsh. If you write your own language file, either create your own macros that'll create the language strings, or simply declare language strings in your language files.
code: |
First, thanks for your help!
Quote:
It looks like that there have to be a way to define the Language Strings like in the existings Languge files. But why the compiler says: code: What do I have to add in "System.nsh" that it works? |
Language strings use curved bracket parenthesis and not curly ones.
e.g. LangString String ${LANG_ENGLISH} "text" -> $(String) -Stu |
As I said, the MUI macros handle converting the defines into language strings. More specifically, MUI_LANGUAGEFILE_END in Contrib\Modern UI\System.nsh, which used at the end of each language file, handles that. If you wish, you could create your own set of macros. However, it's not required and you can use simple language strings.
|
| All times are GMT. The time now is 04:59. |
Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.