Makes it easy to translate your resource fields.
Looking for maintainers. See https://github.com/fabn/activeadmin-globalize/issues/26
Current released version on rubygems is
1.0.0.pre, I won't call it 1.0.0 until some issues has been solved,
but, as reported in this PR it should work with both
AA 1.0.0 and AA 1.1.0.
Current version targets Rails 4 and greater and ActiveAdmin >= 1.0.0.
gem 'activeadmin-globalize', '~> 1.0.0.pre'
Previous version with support for Rails 3 is maintained in branch support/0.6.x
//= require active_admin/active_admin_globalize.js
*= require active_admin/active_admin_globalize
active_admin_translates :title, :description do validates_presence_of :title end
In your Active Admin resource definition
Important note: I'm working on a fix for #4 because after AA deprecated and then removed #form_buffers the syntax shown below for form declaration doesn't work as is. See comments in code and discussion to fix it until I found a solution.
# For usage with strong parameters you'll need to permit them permit_params translations_attributes: [:id, :locale, :title, :description, :_destroy] index do # textual translation status translation_status # or with flag icons translation_status_flags # ... actions end # This was the original syntax proposed in this gem, however currently it doesn't work form do |f| # ... f.translated_inputs "Translated fields", switch_locale: false do |t| t.input :title t.input :description end # ... end # Instead you have to nest the block inside an #inputs block and the title # should be passed to the inputs method form do |f| # ... f.inputs "Translated fields" do f.translated_inputs 'ignored title', switch_locale: false do |t| t.input :title t.input :description end end # ... end # You can also set locales to show in tabs # For example we want to show English translation fields without tab, and want to show other languages within tabs form do |f| # ... f.inputs do Globalize.with_locale(:en) do f.input :title end end f.inputs "Translated fields" do f.translated_inputs 'ignored title', switch_locale: false, available_locales: (I18n.available_locales - [:en]) do |t| t.input :title t.input :description end end # ... end # You can also set default language tab # For example we want to make Bengali translation tab as default form do |f| # ... f.inputs "Translated fields" do f.translated_inputs 'ignored title', switch_locale: false, default_locale: :bn do |t| t.input :title t.input :description end end # ... end
switch_locale is set, each tab will be rendered switching locale.
To use the dashed locale keys as 'pt-BR' or 'pt-PT' you need to convert a string to symbol (in application.rb)
config.i18n.available_locales = [:en, :it, :de, :es, :"pt-BR"]
This work is based on original idea by @stefanoverna, I needed it for AA 0.6.x so I forked the original project and expanded it with more features.