рд░реЗрд▓ рдореЗрдВ рд░реВрд╕реА рдореЗрдВ рд╡реИрдзрддрд╛ рд╕рдВрджреЗрд╢ 3

рд╡рд┐рд╖рдп рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рдмрд┐рддрд╛рдирд╛ рдкрдбрд╝рд╛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рд╡рд┐рд╖рдо рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд╕рдордЭреВрдВ рдХрд┐ рдХреИрд╕реЗ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд░реВрд╕реА рдореЗрдВ рд╕рддреНрдпрд╛рдкрди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдкреЛрд╕реНрдЯ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдмрдЪрд╛рдПрдЧрд╛ред

рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдлрд╝рд╛рдЗрд▓реЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди / рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╣реИрдВред рдпрд╣ рд░реВрд╕реА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдХреИрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, github.com/svenfuchs/rails-i18n/blob/master/rails/locale/ru.yml рджреЗрдЦреЗрдВ

рдпрджрд┐ рд╣рдо рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрд╕реА рднрд╛рд╖рд╛ рдХреЛ config / application.rb рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

config.i18n.default_locale = :ru

рддрдм рд╣рдореЗрдВ рдлреЙрд░реНрдо рдХреЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗ:

Name
Phone


рд▓реЗрдХрд┐рди рдореИрдВ рд░реВрд╕реА рдореЗрдВ рдирд╛рдо рдФрд░ рдлреЛрди рднреА рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, config / locale рдореЗрдВ ru.yml рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдореЙрдбрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ:

 ru: activerecord: models: user:  attributes: profile: name: " " phone:  


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдореЙрдбрд▓ рдФрд░ рдЙрд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП рд░реВрд╕реА рдирд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреБрдкреНрд░рдпреЛрдЧ.rb рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрд▓ рдХреЗ рд▓рд┐рдП, рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ:

config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]

рдФрд░ рдЕрдм рд╣рдорд╛рд░рд╛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:



рдХрд╕реНрдЯрдо рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢


рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

 #encoding: utf-8 #  ┬л ┬╗ class User < ActiveRecord::Base validates :name, :presence => {:message => '!     !'} validates_length_of :phone, :minimum => 7, :maximum => 10, :too_short => "    %{count} ", :too_long => "    %{count} " end 


рд╕рддреНрдпрд╛рдкрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: guide.rubyonrails.org/i18n.html#error-message-interpolation

RoR рдореЗрдВ рд╕рддреНрдпрд╛рдкрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╣реИрдВред

Source: https://habr.com/ru/post/In128951/


All Articles