rails检查页面是否已翻译

时间:2010-08-09 09:54:27

标签: ruby-on-rails internationalization translation

我正在为我们的应用程序编写一个帮助程序,如果页面不是英文的话,它将返回。起初这是我的检查:

!params[:lang].nil? || !cookies[:lang].nil? || !session[:lang].nil? || !session[:locale] || !params[:locale]

(我查看了params,cookies和session)如果其中任何一个不是nil,那么我会立即得出结论,用户点击了我们的翻译链接(引入了params [:lang]并将其添加到会话和cookie。

我忘记的一件事是,如果用户切换回“en”,那么它仍然是!nil。有没有快速简便的方法/电话检查页面是否不是英文?或者我是否坚持为每个参数,饼干和会话做很多ifs以检查它们是否存在以及它们是否是英文的?

1 个答案:

答案 0 :(得分:0)

以下是我所做的一些代码片段和一些来自refactormycode的代码片段:

http://refactormycode.com/codes/1387-too-many-ifs-and-ands

def is_english?
  [params, cookies, session].each do |store|
    return (store[:lang].andand.to_s == "en" || store[:locale].andand.to_s == "eng")
  end

  false
end

希望它对任何人都有帮助!