【问题标题】:I18n in Rails for filterRails 中的 I18n 用于过滤器
【发布时间】:2015-10-28 09:21:15
【问题描述】:

我有一个问题,我无法通过 Rails 中的国际化来解决。我是 Rails 的新手。

我在 room.rb 中定义了一组类别:

  CATEGORY_COLLECTION =  {
                  I18n.t('meeting_rooms') => "sala-de-reuniones",
                  "Aula de formación" => "aula-de-formacion",
                  "Sala para entrevistas" => "sala-para-entrevistas",
                  "Espacio para Eventos de Empresa" => "corporate-events",
                  "Showroom" => "showroom",
                  "Despacho" => "office",
                  "Sala multiusos" => "sala-multiusos",
                  "Puesto de Coworking" => "puesto-de-trabajo",
                  "Sala para conferencias" => "sala-para-conferencias",
                  "Sala de terapias" =>"sala-de-terapias",
                  "Otras salas" => "otras-salas",
                  "Espacio para rodaje" => "espacio-para-rodaje",
                  "Multiespacio" => "multiespacio",
                  "Fiesta de Navidad" => "christmas-events",
                  "Presentación de producto" => "product-presentation",
                  "Pop-up Stores" => "pop-up-stores",
                  "Show cooking" => "kitchen-studio",
                  "Shooting" => "shooting",
                  "Teatro" => "theater",
                  "Baile" => "dance-practice",
                  "Yoga" => "yoga",
                  "Performance" => "performance",
                  "Sala para fiestas particulares" => "sala-para-eventos"

如您所见,我已将国际化放在模型中,但是当我想要一个下拉菜单时,没有国际化。

助手:

def categories
  @categories = Room::CATEGORY_COLLECTION
  @category_selected = Room::FILTER_CATEGORY_COLLECTION
end

下拉菜单:

<%= f.select :categories_name_in, options_for_select(@categories, @category_selected), { include_blank: t('all_categories') }, { class: 'selectbox' } %>

下拉菜单始终以西班牙语显示...

谢谢!

编辑: 我尝试了更多没有翻译的类别,似乎下拉菜单将西班牙语作为默认语言(来自英语语言环境网站的屏幕截图):

有什么线索吗?

【问题讨论】:

  • 你应该检查@categories的值。
  • 非常感谢您的快速回答。 @categories 由类别集合定义。我试过 I18n.t(:meeting_rooms) 但不起作用:(
  • 制作网站:www.spaces-on.com 真正奇怪的是它没有报错,它取的是西班牙文...
  • 您是否设置了正确的语言环境?尝试传递语言环境参数:例如:I18n.t('meeting_rooms', locale: 'en')
  • 如果我这样做,它确实有效,但是当我将语言设置为其他时,它会保留在语言环境中

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


【解决方案1】:
<%= f.select :categories_name_in, options_for_select(@categories.values, @category_selected), { include_blank: t('all_categories') }, { class: 'selectbox' } %>

您需要使用 @categories.values 而不是 @categoties

【讨论】:

  • 非常感谢您的回答!!如果我输入 category.values,我有类别的值(即 sala-de-reunones、事件空间...)而不是用户友好的类别名称...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-14
  • 1970-01-01
  • 2021-05-04
  • 1970-01-01
相关资源
最近更新 更多