配置Sphinx搜索本地化(西班牙语)

时间:2011-06-07 21:17:02

标签: ruby-on-rails will-paginate

我正在使用Sphinx搜索引擎通过Thinking Sphinx gem在Rails项目中执行搜索。我的网站是西班牙语,所以我需要翻译从Sphinx获得的文本。

我正在使用page_entries_info帮助程序检索搜索结果统计信息,获取

等消息
Displaying services 1 - 10 of 412 in total

该消息是我想要翻译成 spanish 的消息。没有成功谷歌搜索或搜索文档的配置项。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

这只是Will Paginate的助手,而不是Thinking Sphinx。如果你想自定义它,我建议你自己写一个帮助方法(我不懂西班牙语,但这里有一个你可以适应的快速英语重写):

def page_entries_info(collection)
  if collection.total_pages < 2
    return "Displaying services #{collection.offset + 1} - #{collection.offset + collection.length} of #{collection.total_entries} in total"
  end

  case collection.size
  when 0
    'No services found'
  when 1
    'Displaying 1 service'
  else
    "Displaying all #{collection.size} services"
  end
end

当然,它不处理不同的对象,所以它可能需要变得更复杂(如果你看看Will Paginate,我真的只是偷了那个方法的最后10行并简化它 - 你可以只是从那里获取代码并将其翻译为更广泛的实现。)

答案 1 :(得分:0)

根据pat的建议,我最终将monkeypatching will_paginate * page_info_entries ViewHelper *。

我在config / initializers目录下创建了一个初始化程序。你可以have a look at it here

我正在使用Gettext,但will_paginate github issue中有一些针对i18n的解决方案。