2012-10-30 46 views
0

我想這個問題有一個標準的解決方案,但我找不到它..管理動態語言數據的數據庫結構

我有一些表存儲用戶數據。包含文本數據的列可以轉換爲不同的語言。

我想我必須創建一個表,其中包含像「fr」,「en」這樣的語言ID和另一個PER用戶的內容表,它將翻譯,關聯語言和外鍵存儲到用戶的行中內容表。

問題是,此解決方案強制爲每個用戶的內容表添加一個languageTranslation表(因爲外鍵列不能指向不同的表)。

有沒有更簡單的解決方案?

+0

描述你的軟件棧。也許有一些現有的庫可以緩解這種痛苦。 –

+0

這是一個Web應用程序,它將在PHP/MYSQL中使用Symfony 2 – Leto

回答

0

你必須決定什麼是可翻譯的,哪些不可翻譯。

如果您可以決定將用相應語言的字符串替換的「鍵」或「標記」,這將有所幫助。

它可以幫助您構建形式schema.table_name.column_name.value形式的鍵,所以你有一些結構(有點像Windows註冊表路徑)。

但是,這是很多工作,並沒有真正的任何捷徑。

-

既然你已經告訴我們您正在使用的Symfony 2,也許下面的鏈接將幫助您?

http://symfony.com/doc/2.0/book/translation.html

http://api.symfony.com/2.0/Symfony/Component/Translation/Loader/LoaderInterface.html