我正在使用Ruby on Rails v3.2.2和Globalize3 v0.2.0 gem。目前我使用Globalize3來翻譯兩種語言的國家,地區和城市名稱,但我計劃用它來以更多語言(理想情況下全部)將我的應用程序國際化。所以,我用翻譯數據填充數據庫,但我有一些疑問:我應該填充我的country_translations
,region_translations
和city_translations
數據庫表與所有國際化的名稱(即使它可能有些名稱是相同的默認的 - 在這種情況下,國際化名稱是零或重複)?也就是說,在轉換表要創建我的應用程序支持的每個語言環境的翻譯記錄(以我目前的情況下,兩個語言環境),並每個國家,地區和城市?它是「可取的」/「正確的方式」來存儲所有可能的翻譯?
做的話,在「理想」方案,支持所有語言,提到表(主要是那些與區,市)將是非常大的,probabily性能較少。另一方面,它確保Globalize3能夠正常工作,因爲在某些情況下,當國際化記錄不存在時(我避免解釋我的具體情況,因爲這很難做到,也許它會需要一本書來解釋)寶石不是正確回退到當前的語言環境。
我該如何繼續?
由於我使用的是'Globalize3'寶石,是有點像'的has_many:翻譯,:依賴=>:destroy'行爲已經由寶石啓用? – Backo
我不這麼認爲。這些是Rails中的簡單模型 - 模型關係,您必須指定自己。 – dimitarvp
*我的意思是*(來自[Globalize3 Official Documentation](https:// github。)「爲了使這個 - 模型翻譯 - 工作,你需要添加適當的翻譯表 - 與你的'has_many:translations:dependent =>相關的表:'destroy'*?* - Globalize3提供了一個方便的助手方法來幫助你做到這一點,它被稱爲create_translation_table!「。 *您的意思是什麼?* – Backo