【问题标题】:How to internationalize my Rails app using multiple languages tables如何使用多语言表国际化我的 Rails 应用程序
【发布时间】:2020-05-10 03:56:32
【问题描述】:

我在 DB 中有一个表(服务),其中包含不同语言的不同列(name_en、name_fr) 如何在不使用 gem globalize 的情况下使用 DB 中的多种语言表来国际化我的 Rails 应用程序。

【问题讨论】:

标签: ruby-on-rails database internationalization globalize


【解决方案1】:

假设您在数据库中设置了 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("")

【讨论】:

    猜你喜欢
    • 2016-01-29
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 2015-08-22
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多