1. gem install gettext
2. добавяте в ApplicationController-а
init_gettext "<името на вашето приложение>"
GetText.locale = "bg"
...и съобщенията за грешка при валидация на ActiveRecord са на български!
Благодарение на Георги Стоименов, който ги преведе.
Ето и един пример с приложението, което Петьо написа на IT boxing-a:
class Chick < ActiveRecord::Base
validates_presence_of :nick
end
в конзолата:
>> c=Chick.new
=> #<Chick id: nil, nick: nil, created_at: nil, updated_at: nil>
>> c.valid?
=> false
>> c.errors.full_messages
=> ["Полето „Nick" не може да е празно"]
За да получите ["Полето „прякор" не може да е празно"], създайте файл
lib/tasks/gettext.rake
desc "Compile .po to .mo files (l10n)."
task :makemo do
require 'gettext/utils'
GetText.create_mofiles(true, "./po", "./locale")
end
desc "Update pot/po files to match new version (i18n)."
task :updatepo do
require 'gettext/utils'
app = "<името на вашето приложение>"
GetText.update_pofiles(app, Dir.glob("{app}/**/*.{rb,erb}"),app)
end
и после
rake updatepo
преведете .po файла (po/bg/<името на вашето приложение>.po)
rake makemo