我正在评估nsis。我想创建一个安装程序(使用mui2),它将使用提供的Unicode字符串(用于标题,按钮,标签等),而不使用任何“本地化”。
例如:应用程序标题包含来自不同语言的unicode字符(假设:“ Λεξικό-Dictionary-Речник
”将是整个标题,而不考虑用户的“语言”)
是否有一种简单的方法可以独立于mui语言使用提供的确切unicode字符串?
编辑(如评论): 上面的内容是关于按钮和通常的UI文本(无本地化)具有自己的Unicode字符串。与任何源(或目标)“文件名”或“路径”无关。
答案 0 :(得分: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
答案 1 :(得分:0)
问题是我将文件另存为UTF8(!!!)。将记事本中的文件另存为Unicode后,问题消失了。