0
A
回答
1
我刚刚得到类似的问题,以备将来参考。
对于我的软件翻译是在程序文件夹中,每个文件夹下的文件名都是以它们自己的子文件夹命名的。代码可以解释这一切:
private void SettingsForm_Load(object sender, EventArgs e)
{
// load default language to the list
languageList.Add(new Language("English", "en"));
string fileName = "myProgram.resources.dll";
// load other languages available in the folder
DirectoryInfo di = new DirectoryInfo(Application.StartupPath);
foreach (DirectoryInfo dir in di.GetDirectories())
{
if (File.Exists(dir.FullName + "\\" + fileName))
{
try
{
CultureInfo ci = new CultureInfo(dir.Name);
languageList.Add(new Language(ci.NativeName, ci.Name));
}
catch
{
// whatever happens just don't load the language and proceed ;)
continue;
}
}
}
}
它广告的一些异常处理开销,但有多少用户会在安装目录中创建自定义文件夹具有完全相同命名为本地化文件假冒资源? :P
1
所以你需要能够获得基础DLL的文化,然后枚举所有的卫星DLL?
第一部分很简单(只是获取程序集级属性)。
对于后者,类ResourceManager中似乎没有助手,这意味着您需要模拟其探测机制(可能包括可用于属性和.config文件的所有覆盖项)。
另一种方法是在构建或安装时构建列表(如果以后可以添加其他语言,后者会更好),为.config文件创建一个列表。
相关问题
- 1. 如何获得的终点翻译QPolygon
- 2. 如何获得临时翻译在Zend_Translate
- 3. 如何从java翻译器中获取翻译的单词?
- 4. 我如何获得一个空的项目作为一个DLL编译?
- 5. 如何从功能使用得到翻译ID在HTML角翻译
- 6. 如何从谷歌翻译输出字符串获得unicode
- 7. 如何翻译圆上的一个点?
- 8. 从Google翻译中获得奇怪的标记,例如~~ POS = TRUNC
- 9. 如何获得使用谷歌翻译API
- 10. 如何在使用Google翻译API时获得所有含义
- 11. Django的翻译:如何翻译语言
- 12. 如何获得在Symfony2中翻译的学说日期时间
- 13. 如何获得原则表的翻译字段
- 14. 如何使用一个DLL从Python的
- 15. 如何编译形成一个DLL
- 16. 得到一些翻译的Symfony2
- 17. 我如何获得liblz4.dll
- 18. 如何从Google翻译(v2)中获得单词的所有含义?
- 19. tx_news从哪里获得翻译的xlf文件
- 20. 从另一个DLL调用一个DLL
- 21. 编译一些dll到另一个dll
- 22. 如何禁用TYPO3 8.7翻译向导中的翻译内容翻译选项?
- 23. 如何实施“智能”翻译:翻译?
- 24. Silverstripe可翻译不能创建翻译
- 25. 如何获得css翻译价值,并与jquery制作成contidion
- 26. 如何从另一个包中加载翻译
- 27. 如何使用角度翻译翻译页面标题的值?
- 28. 如何用Javascript翻译SVG
- 29. 我可以使用Google翻译翻译我的网站吗?
- 30. angularjs翻译价值从i18n文件获得价值
已经制定了类似的解决方案,但忘了在这里发布,所以恭喜,我给你答案:D – Stormenet 2009-09-07 15:52:10