Rails每个用户4个自定义翻译

时间:2014-03-24 09:54:39

标签: ruby-on-rails ruby-on-rails-4 internationalization

我们有一个CMS应用程序,允许从后端为多个用户创建商店..现在,当我们想要实现翻译时,我们遇到了问题。翻译只是使用语言环境存储,但我们需要的是user.id和语言环境。因为每个用户可以按语言拥有自己的翻译。

我尝试按照此railscast中的描述实现i18n后端,但现在我正在坚持使用 http://railscasts.com/episodes/256-i18n-backends?view=asciicast 每个用户的自定义。

有没有办法在翻译中添加额外的列并询问local和user_id?

非常感谢

1 个答案:

答案 0 :(得分:0)

对于您遇到的问题,没有一个最佳解决方案。这取决于您的应用程序。鉴于我所掌握的信息,我建议如下:

应用/控制器/ application_controller.rb

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception

  before_filter :set_locale

  private
  def set_locale
    I18n.locale = current_user.language || I18n.default_locale
  end
end

这会将18n.locale设置为current_user的语言设置。显然,您需要在language模型中使用users属性才能实现此目的。

有关更多示例,请查看http://xyzpub.com/en/ruby-on-rails/4.0/i18n.html