我需要开发英语和西班牙语软件,因此我们所有的应用程序都设置为本地化。我们的基本解决方案/项目结构是有一个中央项目,名为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}。”,并让翻译器整理托盘/插槽位,或者我更好地使用词汇表方法?
谢谢。