C#DLL语言翻译实现

艾丹

我创建了一个具有功能用途的 DLL,但它内部也有资源,它自己使用,但需要针对不同的语言进行翻译。翻译本身不是问题,而是如何实现这些翻译的问题。

我环顾四周,我可以找到的 DLL 翻译实践的两个主要选项是:

  • 为每种语言提供不同的 DLL,然后在主项目中为当前区域性使用正确的 DLL。
  • 在 DLL 中进行翻译,其中 DLL 通过下面的行检测当前区域性(尚未测试该行是否有效),然后它使用自身内部的翻译来提供正确的翻译输出。

    Assembly.GetExecutingAssembly().AssemblyName.CultureInfo

所以我的问题是这些方法中的哪种方法是最佳实践(如果有的话!),你是否有关于如何最好地在 DLL 内部进行翻译的指针?

艾丹

结果很简单:

  • 在 DLL 中,添加主资源文件的副本,但带有 ISO 前缀,例如“Resource.de.resx”,并翻译其中的值文本。

这会在子文件夹等中创建多个 DLL,只需添加对它们的引用,DLL 将自动检测当前的 UI 文化,因此使用正确的 resx 和翻译(如果可用)。

感谢@MatthewWatson 的帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章