Skip navigation

Notes on Setting up a Drupal Site for Internationalization

We encountered a number of challenges when we tried to set up our client's Drupal site to work in multiple languages. In particular, we had to make some changes to the category module, to make it work as desired with the internationalization (i18n) module. We also encountered some difficulties while setting the new site up in a multi site environment. Modifying our site's existing URLs to work with the pathfilter module was an additional challenge. Since the site needed to work in Arabic (a right-to-left language), we also needed to make the site bidirectional. The table of contents below lists a number of posts that deal with these and other issues encountered.

We were using Drupal 4.7.6 for this site. The theme we were using was a modification of box_grey. We were using the i18n module, and there were a number of issues in getting i18n to function properly with the category module. Our multi site set up included the existing site at "sites/example.com" and the new site at "sites/example.com/newsite". The original site was in English, and we needed it to function in at least Arabic, French, and English.

Below is a listing of blog entries that takes you through some of the steps we followed in setting up internationalization on our website.


Preparing Your Database

Do a One-Time Internal URL Replacement on English URL's

Change All Existing Nodes to the Default Language

Logging Into a Multisite, after Copying Over a Database from Another Multisite

Inserting Parents for Breadcrumbs

Changes to Form Fields

Translation of URL Aliases

Admin Title suppression

Limiting Categories by Language

Structuring Your Content

Creating hidden containers to deal with i18n menu issues

Using the category_bulkedit module to Place Content in the Appropriate Menu

Allowing the Client to Choose Where Breadcrumbs Fall

Process for Creating and Translating: Containers, Categories, and Stories

Adding Multilingual Blocks

Theme Changes

Bidirectionality

Showing the Categories for Each Story

Limiting menu depth

Troubleshooting

Taxonomy_wrapper and category_legacy

Search terms disappear

Tinymce

Using i18n_variables to Enable Translation of Module-Specific Variables


Some additional, external links for setting up internationalization include: