全球化现有的Windows窗体应用程序?

ksa*_*ksa 10 .net globalization internationalization winforms

我有一个使用VS 2005和.net framework 2.0开发的现有winforms应用程序.

现在我们需要全球化这个应用程序.这两个地区是德语和日语.

我知道我们可以使用form的localize属性来创建本地化的表单资源,并且可以为消息框中使用的字符串,异常等提供其他资源文件.

我想知道全局化现有应用程序的最佳方法,我应该在每个表单上设置localize属性,还是有一些工具可以提取标签名称和控件名称...日期格式,货币,等等

我们还在代码中的某些地方使用了一些复合字符串来连接消息字符串,这些字符串如何被本地化?

在开始全球化活动之前,我们将把应用程序迁移到VS 2008和.net framework 3.5.

Jon*_*gel 7

我只使用过LTR语言,而且我没有接触过日语.考虑到这一点,这里有一些我最好的做法:

  • 将所有特定于语言的编程字符串和字符串片段放入.resx文件中(我希望每个对话框使用一个.resx文件),然后使用自动生成的类和属性调用字符串.您的代码中不应该有任何特定于语言的字符串(这意味着您的代码中几乎没有字符串,句点).一个好的模式是将格式化字符串放入.resx中,因为语言的语法各不相同.
  • 在所有表单上将Localizable属性设置为True,并直接在其上进行特定于语言的更改(使用Language属性).
  • 设计表单,以便显示特定语言字符串的任何内容在需要时都有额外的空间(注意:德语比英语长).IMO,表格不应该完全重新安排语言的基本改变 - 它可能必须使用像日语这样的语言.
  • 对于需要动态设置文本的标签等控件,请在表单上设置文本,以便您知道它只是一个标记.我使用"##"来表示这一点.避免将文本设置为动态文本的"样本",因为您永远不会记得通过查看表单动态设置哪些控件.