【问题标题】:spreee-commerce adding second language狂欢商务添加第二语言
【发布时间】:2012-08-08 19:38:00
【问题描述】:

我需要在我的狂欢项目中添加对西班牙语的支持。 尝试了各种方法,URL 方式不适合我(不想要),globalizer3 并没有真正做我想要的。其他一些扩展不起作用,一些会杀死网站等。

所以我添加了

gem 'spree_i18n', :git => 'git://github.com/spree/spree_i18n.git'
gem 'globalize3'

到我的 gemfile,而 globalizer 很可能会被划伤(不做我想要的)。

我在“spree_users”中添加了一个“def_lang”列来存储区域设置,该区域由用户注册时的下拉框设置。可用的是“en”和“es”。

我在过去 14 小时内找到的一段代码和重复的建议是这样的:

将以下代码添加到 application_controller.rb(或根据其他人的 base_controller.rb)

before_filter :set_locale

protected
 def set_locale
 I18n.locale = params[:locale] || I18n.default_locale
end

我的情况应该是这样的

before_filter :set_locale

 protected #<-this is not in all tips
  def set_locale
  I18n.locale = params[:def_lang] || I18n.default_locale
end

简而言之,它不起作用。 对西班牙语的语言支持可以通过在“application.rb”中设置来证明

config.i18n.default_locale = :es

网站已翻译。

为什么它不起作用? 如何使它工作? 还有什么我可以用来让第二语言在每个用户的基础上工作的吗?

请帮我解决这个问题。

【问题讨论】:

    标签: internationalization e-commerce locale spree


    【解决方案1】:

    params[:def_lang] 仅适用于注册请求,不适用于后续请求。你可能想让它使用current_user &amp;&amp; current_user.locale 而不是检查params[:def_lang]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多