ruby-on-rails - 西类牙语的复数化和单数化

标签 ruby-on-rails internationalization pluralize singular

对不起我的英语不好...

我有一个开发到西类牙的 rails 应用程序,因此,所有内容都是西类牙语,所以,我有一个搜索框可以在 mysql 数据库中搜索,所有行都是西类牙语,我想改进我的搜索以允许用户以单数或复数形式搜索关键字,例如:

keyword: patatas
found: patata

keyword: veces
found: vez

keyword: vez
found: veces

keyword: actividades
found: actividad

在英语中,借助单数化和复数化方法,这可能相对容易...
where `searching_field` like '%singularized_keyword%' or `searching_field` like '%pluralized_keyword%'

但是,对于西类牙语......

一些帮助?

谢谢!

最佳答案

您现在可以定义自己的变化。

查看 config/initializers/inflections.rb

基于您的问题的示例

ActiveSupport::Inflector.inflections do |inflect|
  inflect.irregular 'patata', 'patatas'
end

因此
"patata".pluralize # => "patatas"
"patatas".singularize #=> "patata"

当然你需要提前知道关键字列表才能使用config/inflections.rb中的不规则方法。查看该文件中注释掉的示例。还有其他方法允许使用正则表达式定义规则,您可以设计模式匹配来影响匹配已知模式的任意关键字的变化。

关于ruby-on-rails - 西类牙语的复数化和单数化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4607800/

相关文章:

ruby-on-rails - 如何查明现有 Rails 应用程序是基于哪个 Rails 版本构建的?

ruby-on-rails - 有没有办法在所有 Heroku 测功机上运行命令?

c# - 国际化我的独立应用程序

使用 transchoice 进行 symfony2 翻译

c# - 我可以使用 linq 的复数化术语的方法吗?

ruby-on-rails - 将 ActiveRecord habtm 查询转换为 Arel

javascript - 在delayed_job之后渲染javascript

java - GWT:如何使用区域设置的私有(private)标记

sorting - Cakephp 3 分页器使用翻译行为 i18n 对字段进行排序

java - Java中复数化的方法