首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何本地化autorun.inf?

如何本地化autorun.inf?
EN

Stack Overflow用户
提问于 2010-09-22 07:49:14
回答 1查看 920关注 0票数 2

有没有人成功创建了单页autorun.inf文件?*.inf文件的文档建议您

代码语言:javascript
复制
[autorun] 
open="MyApp.exe"
icon=MyApp.exe,0
label=%AppLabel%
action=%AppAction%
[Strings]
AppLabel = "My test app"
AppAction = "Start my test app"
[Strings.0407]  ; 0407 is the language ID for German
AppLabel = "German my test app"
AppAction = "German start my test app"

应该行得通。我发现标签(出现在自动运行对话框中)显示的是'%AppLabel%‘,而不是预期的’我的测试应用‘。

EN

回答 1

Stack Overflow用户

发布于 2011-07-25 00:44:00

卡萨布兰卡在评论中链接的docs告诉我们必须如何做到这一点,不过是以一种间接的方式。

答案就在"indirect strings"中。必须将多个字符串资源添加到EXE或DLL文件中,这些资源都具有相同的ID,但语言不同(由LANGUAGE语句指定)。然后,您可以通过间接字符串语法@filename,-idautorun.inf文件中引用这些字符串

间接字符串的语法是@符号,后跟包含所引用的字符串资源的文件名,然后是逗号、减号,最后是所引用的字符串ID。

示例:

代码语言:javascript
复制
[autorun]
open="MyApp.exe"
icon=MyApp.exe,0
label=@MyApp.exe,-100
action=@MyApp.exe,-101

这要求您的EXE中有一个包含所有本地化字符串的字符串表资源。在RC文件格式中,它可能如下所示:

代码语言:javascript
复制
#include <winresrc.h>

LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
    100 "English MyApp
    101 "English MyApp description text"
END

LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
    100 "German MyApp
    101 "German MyApp description text"
END

如果用户安装了德语版本的Windows,或者选择了德语作为其MUI语言,则Windows应使用德语字符串。任何其他语言版本都应该选择英文字符串。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3765320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档