2009-10-09 102 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

是;不要使用這樣的方法,讓翻譯完全確定每個案例的每個句子;在零件中處理它會導致問題。