如何在nsis中只使用unicode?

问题描述 投票:0回答:2

我在评估nsis。我想创建一个安装程序(使用mui2),它将使用提供的Unicode字符串(用于标题,按钮,标签等),而不是使用任何“本地化”。

例如:应用程序标题包含来自不同语言的unicode字符(假设:“Λεξικό-Dictionary-Речник”将是整个标题,无论用户“语言”如何)

是否有一种简单的方法可以独立于mui语言使用提供的精确unicode字符串?

编辑(评论):上面是关于按钮的自己的Unicode字符串,一般来说,UI文本(没有本地化)。不是任何来源(或目的地)“文件名”或“路径”。

nsis
2个回答
0
投票

NSIS不会翻译名称,只需确保将.NSI源文件保存为带有BOM / Signature的UTF-8或带有BOM的UTF-16(如果使用非ASCII字符)。

Unicode True
Name "Λεξικό-Dictionary-Речник"
OutFile "MyInstaller.exe"
InstallDir "$ProgramFiles\$(^Name)"

!include MUI2.nsh

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH

!insertmacro MUI_LANGUAGE English

Section
SetOutPath $InstDir
File /r "c:\myfiles\*.*"
SectionEnd

也可以从Unicode代码点手动构造Unicode字符:

Section
MessageBox MB_OK "${U+2115}SIS" # DOUBLE-STRUCK CAPITAL N + "SIS"
SectionEnd

0
投票

问题是我将文件保存为UTF8(!!!)。将文件从记事本保存为Unicode后问题消失了。

© www.soinside.com 2019 - 2024. All rights reserved.