【问题标题】:Project SetUp for Localization本地化项目设置
【发布时间】:2010-12-05 05:28:24
【问题描述】:

我需要用英语和西班牙语开发软件,因此我们所有的应用程序都已设置为本地化。我们的基本解决方案/项目结构是有一个中心项目,称为 ProjectName.Core 或 ProjectName.Localization,在这个项目中有以下文件。

Strings.resx - 包含所有可本地化的(英文)字符串、消息、错误等。
示例
ErrorMovePallet = "无法将托盘“{0}”移动到插槽 {1}。"

Glossary.resx - 包含系统的常用术语。
示例
PalletTerm = "托盘"
PalletCapitalized = "托盘"
SlotTerm = "插槽"
SlotCapitalized = "插槽"

鉴于上面的示例文本,我一直在运行时将词汇表术语替换为字符串。因此,我没有“无法将托盘“{0}”移动到插槽 {1}。”,而是“无法将 {1}“{4}”移动到 {3} {5}”,代码如下......

公共静态字符串ErrorMovePallet(字符串palletId,int slotId) { 返回 string.Format(Strings.ErrorMovePallet, Glossary.PalletCapitalized, Glossary.PalletTerm, Glossary.SlotCapitalized, 词汇表.SlotTerm, 托盘标识,槽标识); }

这在当时看起来是个好主意,但现在我开始担心这种方法可能会导致问题,因为其他语言确实适合这种结构,尤其是在涉及复数的情况下。

我想听听其他人在做什么,尤其是那些从事或从事以不同语言发布(ped)的产品的人。

我最好只使用基本字符串,例如“无法将托盘“{0}”移动到插槽 {1}。”,并让翻译人员整理托盘/插槽位,还是我更好地使用词汇表方法?

谢谢。

【问题讨论】:

    标签: c# .net localization


    【解决方案1】:

    是的;不要使用这样的方法,让翻译完全确定每个案例的每个句子;部分处理会导致问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 2017-07-28
      • 2011-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多