有没有更好的方法来管理本地化字符串?

Ear*_*rlz 11 .net c# localization resourcemanager

我在一个产品上工作,我们不得不担心本地化问题.目前,这是我必须使用(或添加)本地化字符串时的工作流程:

  1. 搜索resources.resx文件(包含数百个项目)
  2. 如果找到,则复制名称.否则,添加新字符串并复制名称
  3. 然后,使用ResourceFactory.ResourceMgr.GetString("MY_MAGIC_STRING")(其中ResourceMgr只是一个到ResourceManager的静态字段)

任何琴弦的这3个步骤都是一个真正的痛苦.是否有任何模式或方法可以使此过程更容易?

Ale*_*kov 5

可以更轻松地使用自动生成的文件访问每个单独的字符串 - 将RESX文件的"自定义工具"设置为PublicResXFileCodeGenerator.

代码看起来像:

using MyProject.Resources;
...
localizedText = Resources.SomeReasonableName;
Run Code Online (Sandbox Code Playgroud)

附注:

  • 拥有多个RESX文件以及自动生成的ID具有智能感知的额外好处,可为您提供合理数量的选择.
  • 根据翻译的处理方式,最好不要担心RESX文件中的重复文本(除了OK /取消种类的字符串).在翻译时处理重复的字符串可能更容易.