代码之家  ›  专栏  ›  技术社区  ›  AidanH

C#DLL语言翻译实现[关闭]

  •  0
  • AidanH  · 技术社区  · 7 年前

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

    我环顾四周,发现DLL翻译实践的两个主要选项是:

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

      装配GetExecutingAssembly()。程序集名称。文化信息

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

    1 回复  |  直到 7 年前
        1
  •  1
  •   AidanH    7 年前

    结果很简单:

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

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

    感谢@MatthewWatson的帮助!