Ruby On Rails: pluralize for other languages

前端 未结 4 2117
悲&欢浪女
悲&欢浪女 2021-02-14 19:57

I am building apps for a non-english audience. Right now, I use english nouns to name my models, yet I prefer to use native dutch ones. As the convention uses the plural of the

相关标签:
4条回答
  • 2021-02-14 20:24

    In addition, as far as views are concerned my preferred way of dealing with pluralizing foreign strings is i18n pluralization. Take a look at a straightforward example below.

    # config/locales/en.yml
    
    en:
      message:
        one: You have 1 message #Your foreign string
        other: You have %{count} messages #Your foreign string
    

    Then in view you can do

    # app/views/messages/index.html.erb
    
    <%= t("message", count: current_user.messages.count) %>
    

    Check official documentation.
    Hope that helps!

    0 讨论(0)
  • 2021-02-14 20:35

    This is not answering the question specifically, but if a language has too much irregularities one can disable the inflector according to the discussion.

    ActiveRecord::Base.pluralize_table_names = false

    0 讨论(0)
  • 2021-02-14 20:43

    Perhaps won't help you because you want Dutch language, but for Spanish, French, Kazakh, Turkish or Norwegian, there is this:

    https://github.com/davidcelis/inflections

    0 讨论(0)
  • 2021-02-14 20:51

    Add your rules to an inflections.rb file in config/initializers. See the API documentation:

    ActiveSupport::Inflector.inflections do |inflect|
      inflect.plural 'boek', 'boeken'
    end
    
    0 讨论(0)
提交回复
热议问题