Skip to content
Translate content in Radiant CMS using the Globalize2 Rails plugin.
Branch: master
Clone or download
Pull request Compare This branch is 55 commits ahead of Aissac:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Radiant Globalize2 Extension


An extension by Aissac that helps translating content in Radiant CMS using the Globalize2 Rails Plugin.

Requires Radiant >= 0.8. Tested on Radiant 0.9.1.

Check out a screencast presenting the extension and one on compatibility issues


  • Provides the ability to translate your pages (title, slug, breadcrumb, description, keywords) using the Radiant admin interface.
  • Provides the ability to translate your snippets and layouts using the Radiant admin interface.
  • Radius tags for accessing the locales and translations.
  • Possibility to completely delete the translation for a page.

Important Notice!

The git branches of this repository hold stable versions of the extension for older versions of Radiant CMS. For example the 0.8 branch is compatible with Radiant 0.8.

To checkout one of these branches:

git clone git:// vendor/extensions/globalize2
cd vendor/extensions/globalize2
git checkout -b <branch-name> origin/<remote-branch-name>

As an example, if you're working on Radiant 0.8 you will need to checkout the 0.8 branch:

cd vendor/extensions/globalize2
git checkout -b my_branch origin/0.8


Globalize2 Extension has no known dependencies. Globalize2 Rails Plugin is bundled.

Because Globalize2 Extension keeps the settings in the Radiant::Config table it is highly recommended to install the Settings Extension

git clone git:// vendor/extensions/settings

Finally, install Globalize2 Extension

git clone git:// vendor/extensions/globalize2

Then run the rake tasks:

rake radiant:extensions:globalize2:migrate
rake radiant:extensions:globalize2:update



Globalize2 Extension keeps its settings in Radiant::Config table, so in order to use correctly the extension you need to create some settings:

Radiant::Config['globalize.default_language'] = 'en'
Radiant::Config['globalize.languages'] = 'ro,de'


You have the possibility to change the locale either on the pages/snippets/layouts index page, or on the page/snippet/layout edit page. Changing the locale using either option will change the locale for the entire application.

When you need to delete a translation, on the page edit action, you need to check the "Delete Translation" checkbox, before saving the page. Saving the page with the checked "Delete Translation" will erase only the translation for that particular locale.

When creating a new page, the locale will be changed automatically to the default language.

###Available Tags

  • See the "available tags" documentation built into the Radiant page admin for more details.
  • Use the <r:locale /> tag to render the current locale.
  • Use the <r:locales /> tag to render the locales you use in the application.
  • Use the <r:with_locale /> tag to temporarly switch the locale within the block.
  • Use the <r:if_translation_title /> and <r:unless_translation_title /> tags to render the page only if/unless the title is translated.
  • Use the <r:if_translation_content /> and <r:unless_translation_content /> tags to render the page only if/unless the content is translated.
  • If you pass to <r:link /> tag the locale attribute it will generate the link to the translated version of the current document
  • The <r:children:each /> tag cycles through all of the translated children. If you need to cycle through all the children (regardless if they are translated or not) set the tag's locale attribute to false
  • If you're using the Paginate Extension, the <r:paginate:each /> tag will find only translated children. If you need to find all the children (regardless if they are translated or not) set the tag's locale attribute to false


The following extensions were tested and work with Globalize2 Extension:


You need to load Copy-Move before Globalize2

config.extensions = [ :copy_move, :globalize2, :all ]

Custom Fields

You need to load Custom Fields before Globalize2

config.extensions = [ :custom_fields, :globalize2, :all ]


You need to migrate Reorder extension before Globalize2


You need to load Paginate before Globalize2

config.extensions = [ :paginate, :globalize2, :all ]


You need to install Globalize2Paperclipped Extension. Follow the installation notes on the extension's official page.

Tiny Paper

Because Tiny Paper is based on Paperclipped, you neeed to install Globalize2Paperclipped.

Out-of-the-box compatible

Other extensions that have been tested and don't need any special treatment: Mailer Extension, Stereotype Extension, SNS Extension, SNS Minifier, SNS SASS Filter Extension, Database Mailer Extension, Super Export Extension



You can’t perform that action at this time.