本地化/全局化在 Visual Studio 中使用 RESX 文件非常容易。我只是添加一个资源文件,如 MyTextSnippets.resx
,添加键/值对,并为我想要支持的每种语言创建副本,如 MyTextSnippets.de.resx
, MyTextSnippets.fr.resx
等
现在考虑较长的文本,其中字符串资源编辑器网格不能很好地工作。没问题,只需从设计器中选择“添加资源|添加新文本文件”,您就可以编辑任意数量的文本文件。示例:我添加了 MyTemplates.resx
,并向此 RESX 添加了一个名为 SomeEmailTemplate.txt
的文件。到目前为止工作正常,但是当创建 resx 文件的副本时,比如 MyTemplates.de.resx
,并从那里打开 SomeEmailTemplate.txt
,它将打开 总是同一个文件。如果仔细查看,文本文件不会嵌入到 resx 容器中,而是在全局文件夹“Resources”中创建,并且 resx 文件仅包含对同一个文件的引用。
我不知道如何本地化它。有什么想法吗?
当然,我可以为每种语言嵌入一个文本文件,并在运行时枚举可用的文本文件并尝试找到最适合当前线程的 UI 文化的文件。然而,这感觉不对,因为字符串和设计器属性的所有魔法都是开箱即用的。
最佳答案
为您想要的每种本地化语言创建一个文件夹,将相应的 txt 文件放在该文件夹中并引用它。
了解全局化/本地化最佳实践 here .
关于.net - .NET 中文本文件资源的本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3307466/