2012-12-12 61 views
0

作爲我存儲在我的SQL數據庫國家代碼(例如US,DE,...)中的地址的一部分。然後,我在我的數據庫中有另一個表格(有兩列),將國家代碼翻譯成各個國家的英文名稱。國名的本地化

如果我想使網站爲多語言,我可以擴展這個翻譯表,添加除英語之外的其他語言的國名。

我想知道是否有另一種方法不涉及修改數據庫,例如,使用gettext翻譯英文國名?

回答

0

來處理這種情況的典型方法是更改​​表結構有三列,而不是兩個:

  • 語言
  • CounryCode
  • 全名

每當您查詢數據庫,你會提供當前的語言。

然後您必須更改您的代碼以在任何查詢中包含其他語言鍵。

根據您將如何跟蹤當前語言,您還可以使用視圖或用戶定義的函數。

您不想使用自動翻譯功能,因爲像「中國」這樣的國家的名稱可以變成相當於「瓷器」。

+0

不知道我明白。那麼冰島的全名將出現在哪裏?我想到了三列:CountryCode,FullNameEnglish,FullNameIcelandic,然後根據所選語言提取第二列或第三列。 – user1583209