Rosette
Rosette is a Ruby on Rails engine that helps you add missing translations to your application.
If your main app is configured to raise on missing translations, Rosette will catch any I18n::MissingTranslationData
error and display a form to add the missing translations.
The form includes an input for each available locale set by config.i18n.available_locales
.
Installation
Add this line to your application's Gemfile:
gem "rosette"
And then execute:
$ bundle
Make sure your app raises error for missing translations in development:
# config/environments/development.rb
config.i18n.raise_on_missing_translations = true
and that you explicitly set the available locales:
# config/application.rb
config.i18n.available_locales = [:fr, :en]
Whether you currently use or are interested in starting to use i18n-task to normalize your locales files, add this initializer:
# config/initializers/rosette.rb
Rosette.normalize = true
Preview
This is how you will be able to add your missing translations for each available locale set in config/application.rb
:
CLI
This gem also provides a command line interface. Run bundle exec rosette
to get the list of all the tasks:
License
The gem is available as open source under the terms of the MIT License.