2009-10-09 72 views
1

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

Strings.resx - 包含所有本地化(英文)的字符串,消息,错误等

ErrorMovePallet = “不能移动托盘 ”{0}“ 到插槽{1}”。

Glossary.resx - 包含系统的常用术语。
实例
PalletTerm = “托盘”
PalletCapitalized = “托盘”
SlotTerm = “时隙”
SlotCapitalized = “时隙”

给出的示例文本上方我已经代替词汇表术语进运行时的字符串。因此,代替“无法将托盘”{0}“移动到插槽{1}”,“我无法将{1}”{4}“移动到{3} {5}”,代码如下所示:

 
public static string ErrorMovePallet(string palletId, int slotId) 
{ 
    return string.Format(Strings.ErrorMovePallet, Glossary.PalletCapitalized, 
                Glossary.PalletTerm, 
                Glossary.SlotCapitalized, 
                Glossary.SlotTerm, 
                palletId, slotId); 
} 

当时我很喜欢这个方法,但现在我开始担心这种方法可能会导致问题,因为其他语言也适合这种结构,尤其是涉及复数的情况。

我想听听其他人在做什么,尤其是那些为不同语言提供(ped)产品的人员。

如果我有更好的基本字符串,例如“Can not move pallet”{0}“to slot {1}。”,并让翻译器整理托盘/插槽位,或者我更好地使用词汇表方法?

谢谢。

回答

3

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