【问题标题】:How to check if current locale is equal to a string如何检查当前语言环境是否等于字符串
【发布时间】:2023-03-20 15:23:01
【问题描述】:

我正在尝试确定是在我的 Web 应用程序上显示 Spanish 还是 English 按钮。

<% if I18n.locale == 'es' %>
  <a href="<%= set_english_path %>" class="thin">English</a>
<% else %>
  <a href="<%= set_spanish_path %>" class="thin">Spanish</a>
<% end %>

if 条件总是 失败,并且始终显示西班牙语按钮。

RubyMine 在检查时显示此内容(在调试期间):

那么为什么比较失败了?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 internationalization symbols


    【解决方案1】:

    在搜索/比较/设置语言环境时,您应该使用符号而不是字符串。试试:

    <% if I18n.locale == :es %>
    

    那里有 I18n 的文档http://guides.rubyonrails.org/i18n.html

    【讨论】:

      【解决方案2】:

      就我而言

      if I18n.locale.to_s == 'zh-CN'
        ...
      

      成功了。

      【讨论】:

      • 我认为这可能是首选:if I18n.locale.to_s == :'zh-CN'
      猜你喜欢
      • 1970-01-01
      • 2018-11-11
      • 2021-05-20
      • 1970-01-01
      • 2022-01-28
      • 1970-01-01
      • 1970-01-01
      • 2016-12-21
      相关资源
      最近更新 更多