【发布时间】:2020-05-10 03:56:32
【问题描述】:
我在 DB 中有一个表(服务),其中包含不同语言的不同列(name_en、name_fr) 如何在不使用 gem globalize 的情况下使用 DB 中的多种语言表来国际化我的 Rails 应用程序。
【问题讨论】:
标签: ruby-on-rails database internationalization globalize
我在 DB 中有一个表(服务),其中包含不同语言的不同列(name_en、name_fr) 如何在不使用 gem globalize 的情况下使用 DB 中的多种语言表来国际化我的 Rails 应用程序。
【问题讨论】:
标签: ruby-on-rails database internationalization globalize
假设您在数据库中设置了 default_language(例如 'en' 和 'fr')并具有 key(通过它可以找到翻译值)列。
你必须实现一个服务类
class Translation
def self.get_translation(key = "")
column_name = "name_#{default_language}"
translated_value = Service.find_by_key(key)
return key.humanize if translated_value.blank?
eval("translated_value.#{column_name}") rescue key.humanize
end
end
现在您可以使用
Translation.get_translation("")
【讨论】: