截至第 2 版 NSIS 已经完全支持多国语言。一个安装程序的界面可以支持多语言。
对所有的语言使用 LoadLanguageFile 来载入默认的界面文本和语言属性。
默认的界面文本可以很容易的使用指令(比如 ComponentText 等)来更改。
你也可以在你自己的字符串里使用标准语言字符串的内容(例如, $(^Name) 包含了使用 Name 指令设置的安装程序名称)。在语言文件中,所有标准语言字符串的名称作为注释列表于语言文件字符串的上方。语言文件位于 Contrib\Language Files 。
要创建你自己的语言的字符串,请使用 LangString 。
使用多语言的一个安装程序例子,请看 languages.nsi 。
当安装程序启动时通过以下步骤选择界面语言:
LangDLL 插件允许用户为安装程序选择语言。只需要把语言 ID (${LANG_langfile}) 和他它在所有语言中的名称压入堆栈,然后再压入语言的数量,窗口标题和要提示用户选择语言的文本,调用插件的 LangDialog 函数,弹出返回值到 $LANGUAGE ,然后你便可以继续。如果用户点击了取消按钮,则返回值就是 "cancel" 。
使用多语言的一个安装程序例子,请看 languages.nsi 。
RTL 语言是从右至左书写的语言(例如 Arabic[阿拉伯语] 和 Hebrew[希伯来语])。 NSIS 完整支持 RTL 语言。在语言文件里有一个地方来指定该语言是否 RTL 语言。要在运行时检测当前是否是 RTL 语言,需要检测 $(^RTL) 语言字串的值。如果语言是 RTL 则为 1 ,否则为 0 。这在使用插件来创建对话时非常有用,他们通常也有 RTL 设置。