我喜歡轉發關係數據庫的概念,所以我通常創建表格。 但是現在我得到一個任務,這讓我想到了使用帶有翻譯的json字段。將翻譯置於JSON中是一個好主意嗎?
簡要說明任務: 有必要實施多語言應用程序。我通常創建表:
- 內容
- content_translations
- contents_images
- contents_image_translations
通常他們並沒有顯示出太多(大約5-7)。但是現在我需要導入一些帶有GEO數據的數據庫(國家,地區,城市,地區)。我嘗試創建一個轉換表,但後來我們失去了使用外鍵和多態連接的能力。我的例子不是那麼大,但是我有很多這樣的表,並且應該創建帶有翻譯的太多表(並且它們只包含Id,Relation_id和Name)。
這就是我想嘗試使用JSON字段。 MySQL 5.7提供了這種類型的字段。現場的 結構是這樣的:選擇
...
json_encode([
'ru' => ['locale' => 'ru', 'name' => $data['title_ru']],
'en' => ['locale' => 'en', 'name' => $data['title_en']],
]);
...
樣品:
SELECT
alias, translations,
JSON_UNQUOTE(json_extract(translations, '$.en.name')) AS like_name
FROM geo_countries
WHERE
JSON_UNQUOTE(json_extract(translations, '$.en.name')) LIKE '%Ukraine%'
OR
JSON_UNQUOTE(json_extract(translations, '$.ru.name')) LIKE '%Ukraine%';
所以問題是: 的問題是: 誰使用這種方法的工作原理,有沒有利潤,如何生產展示自己嗎?
幾乎所有的翻譯系統,你可以拿出從代碼方面的罰款。最大的問題是如何管理翻譯:更新可翻譯的字符串,讓他們翻譯第三方,管理缺失的字符串......這就是所有自釀系統發生故障的地方。 –