我有一個數據庫中的第一個,最後一個和中間名,並且想要顯示它們。我的第一個想法是顯示:最後,第一中間但我想其他語言/文化可能使用不同的格式和分隔符。人名格式全球化
有沒有人知道會在文化基礎上處理這個問題的表單?理想的.Net的一部分。
我有一個數據庫中的第一個,最後一個和中間名,並且想要顯示它們。我的第一個想法是顯示:最後,第一中間但我想其他語言/文化可能使用不同的格式和分隔符。人名格式全球化
有沒有人知道會在文化基礎上處理這個問題的表單?理想的.Net的一部分。
而不是尋找格式化,假設UI(或電子郵件模板或其他)將被翻譯,只是外部化的模式和使用格式的方法:
string firstName = "Paweł";
string lastName = "Dyda";
// externalize this pattern
string firstLastNamePattern = "{0} {1}";
string displayable = string.Format(firstLastNamePattern, firstName, lastName);
換句話說,讓譯者決定如何她/他想翻譯它,即匈牙利翻譯將使用「{1} {0}」。
我與Pawel Dyda就此達成協議,但我會更進一步。
當你有複雜的數據結構需要本地化時,你會明智地包裝這些東西來支持任何場景。現在,當我說複雜的數據結構時,我並沒有試圖讓事情複雜化,但是你傾向於認識到走向國際的一點是,每個國家都有自己的做事方式。諸如名稱,地址,電話號碼等文化特定的東西都需要被視爲這樣,你應該在你的應用程序中有一個表示層來獲取它。如果你想成功,它也應該是高度可定製的。
在.NET中,文化特定的東西在某種程度上很好,但僅僅依靠複合格式化字符串是不夠的。
「第一」名稱和「最後」名稱的概念差別很大。例如,在一些文化中,沒有「最後」這個名字的概念。 – Thomas 2011-04-08 20:42:25
這裏有趣的問題。有些文化在正式語境中使用[首字母+中間名](http://web.ku.edu/~russcult/culture/handouts/russiannames.html) – 2011-04-08 20:48:55
我遇到過印度尼西亞人,只有一個名字,它既不是「第一」或「最後」的名稱。 – 2011-04-08 23:27:41