I18n yaml generator (for Rails 3)
Description
Creates yaml locale files for models and views when using the model / scaffold_controller generators.
Locale files are generated for all locales listed in I18n.available_locales.
Currently support ORMs
- ActiveRecord
- ActiveModel
- Mongoid
Usage
Add the gem to Gemfile
gem 'i18n_yaml_generator'
Make sure you have something like this in application.rb:
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
Configuration
Create config/initializers/i18n_yaml_generators.rb
MyApplication::Application.config.i18n_yaml_generator.tap do |g|
# Whether content in the generated locale files should be commented out (default: false)
g.commented = true
end
Example
rails g scaffold Article title:string body:text
invoke active_record
create db/migrate/20110329004811_create_articles.rb
create app/models/article.rb
invoke test_unit
create test/unit/article_test.rb
create test/fixtures/articles.yml
invoke i18n_yaml
create config/locales/models/article.en.yml
route resources :articles
invoke scaffold_controller
create app/controllers/articles_controller.rb
invoke erb
create app/views/articles
create app/views/articles/index.html.erb
create app/views/articles/edit.html.erb
create app/views/articles/show.html.erb
create app/views/articles/new.html.erb
create app/views/articles/_form.html.erb
invoke test_unit
create test/functional/articles_controller_test.rb
invoke helper
create app/helpers/articles_helper.rb
invoke test_unit
create test/unit/helpers/articles_helper_test.rb
invoke i18n_yaml
create config/locales/views/articles.en.yml
invoke stylesheets
create public/stylesheets/scaffold.css
config/locales/models/article.en.yml
---
en:
active_record:
models:
article: Article
attributes:
article:
title: Title
body: Body
errors:
article:
helpers:
article:
config/locales/views/articles.en.yml
---
en:
articles:
index:
title: Articles
show:
title: Article
edit:
title: Editing Article
new:
title: New Article
flash:
articles:
create:
notice: "%{resource_name} was successfully created."
update:
notice: "%{resource_name} was successfully updated."
destroy:
notice: "%{resource_name} was successfully deleted."
alert: "%{resource_name} could not be deleted."