我在一个产品上工作,我们不得不担心本地化问题。目前,这是我必须使用(或添加)本地化字符串时的工作流程:
ResourceFactory.ResourceMgr.GetString("MY_MAGIC_STRING")
(其中ResourceMgr
只是ResourceManager的静态字段)任何琴弦的这3个步骤都是一个真正的痛苦。是否有任何模式或方法可以使此过程更容易?
答案 0 :(得分:5)
自动生成的文件可以更方便地使用 - 将RESX文件的“自定义工具”设置为PublicResXFileCodeGenerator
。
代码如下:
using MyProject.Resources;
...
localizedText = Resources.SomeReasonableName;
附注:
答案 1 :(得分:0)
这个Java解决方案可能会给你一些想法: http://rodionmoiseev.github.com/c10n/
我们的想法是使用接口方法上的注释将翻译存储在源代码本身中。然后,通过使用特殊实用程序,您可以动态创建代理(动态实现接口的类),这些代理在调用接口方法时将返回本地化字符串值。
这样,"MY_MAGIC_STRING"
会被MyMagicString()
方法调用所取代,这会为您提供一些拼写/类型安全性,并使其更加友好地重构。