Skip to content

fabn/activeadmin-globalize

This branch is 108 commits ahead of, 5 commits behind unmantained-activeadmin-plugins/activeadmin-globalize:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6cd5174 Â· Oct 3, 2017
Aug 7, 2017
May 11, 2016
Aug 28, 2017
Oct 3, 2017
Nov 26, 2016
Jun 11, 2014
Jun 11, 2014
Aug 28, 2017
Aug 28, 2017
Aug 28, 2017
Oct 16, 2012
Oct 3, 2017
Jun 11, 2014
Oct 3, 2017
Oct 3, 2017

Repository files navigation

ActiveAdmin::Globalize

Makes it easy to translate your resource fields.

Gem Version Build Status

Help Needed

Looking for maintainers. See #26

Installation

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 Assets

  • active_admin.js: //= require active_admin/active_admin_globalize.js
  • active_admin.css: *= require active_admin/active_admin_globalize

Your model

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

If switch_locale is set, each tab will be rendered switching locale.

Hints

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"]

Credits

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.

About

Provides translation UI for ActiveAdmin and Globalize gems

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 80.1%
  • CSS 8.3%
  • CoffeeScript 7.7%
  • HTML 3.0%
  • JavaScript 0.9%