![]() |
1
2
不幸的是,没有一个直接的win32 api能为您提供一个由3个字母组成的langid缩写。 看起来像 CLanguageSupport 是你的朋友 today :-)它已经实现了基于版本信息资源内容查找langid的计划B。 您要查找的代码是int函数
当然,缺点是版本信息和dll名称之间可能不匹配。但在测试过程中你会很快抓住它。如果你让一个工具 appTranslator 为你创建DLL,你一定会安全的。 |
![]() |
2
1
可以使用枚举已安装的区域设置
我建议使用 B计划 在这种情况下。我通常不把代码编码成文件名。如果没有其他原因,请使用3个字符 ISO-639 除非您严格指定要使用的变体,否则变体并不完美。- ISO-639-2/B, ISO-639-2/T 或 ISO-639-3 . 如果您需要提供特定于区域设置的变体,那么应该仔细查看 RFC3066 . 基本上,您需要指定语言和国家代码,在某些情况下还需要指定地区代码。无论如何,LCID封装了所有这些优点。 有一件事我不能完全确定,那就是资源信息中的langid是否是完整的lcid。中列出的代码 VERSIONINFO 引用是LCID,因此我将尝试在versionInfo头中使用LCID。如果没有,则可以将信息作为字符串包含在字符串块中。 |
![]() |
3
0
您可以通过调用
注意,msdn说
随着项目的发展,可能会为每种语言生成几个本地化文件。因此,我建议您将本地化文件存储在以该语言命名的子目录中。微软使用了以langid命名的目录,例如“1033”作为英文资源目录。我认为使用三个字母的代码会更友好一些,比如“enu\name.dll”。在任何情况下,子目录都是一个简单的解决方案,希望不会像更改目标文件名那样使构建过程复杂化。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |