Creating a Multilingual Site with Drupal


If you’ve never created a multilingual site for a client before, it can seem like a daunting task. Even if you speak geek it’s still easy to get lost in a sea of code, strings, files and acronyms. In this blog post, we de-code the geek speak and put it all in layman’s terms to help you get a jumpstart.

Ummm…what now?
The first two items you need to become best friends with are internationalization (i18n) and localization (l10n). Internationalization and localization are means of adapting computer software to different languages and regional differences. Here’s how they’re broken down:

Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. The application will give you the ability to replace your English content with German (or whatever language you want). In other words, internationalization gives you the framework to create your “About Us” page in 17 languages and then have them displayed to your site visitors according to their selected locale.

Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text. It’s the actual process of creating the translated content. The internationalized software won’t translate the content for you (although that would be awesome), so localization specifies the copy for each language.

Basically, you’ll internationalize your multilingual site (no worries–it’s a one-time step), and then perform localization for each language.

How Drupal can become your new BFF
At it’s core, Drupal comes with a basic internationalization tool known as the Locale module. The Locale module allows any Drupal site to be built in any language by adding language handling functionality for text strings from other modules to be translated. If you’re looking to create a site in several different languages at once, then you will need to find additional software. However, the Locale module makes it pretty easy for you to create a site in one language.

Introduced in Drupal 6, the Content Translation module provides basic localization for content, and it will help you create a site in two or more languages at once. The modules that make Internationalization also provide administration interfaces for managing the localization process and a block for switching between languages. You’ll need to have the content translated, and then use the Content Translation, Internationalization and language switcher modules to develop the site. The Drupal content you’ll most likely be looking to internationalize are:

Nodes: The majority of content in a Drupal site is made up of nodes. Content Translation enables you to specify the language for each node, and to say that one node is the translated version of another. For example, if you have an About Us page in English, you would create a new page entitled “Wir über uns” in German. German speaking visitors will then chose or automatically see the new page instead of the English one.

Each node will also have a link for the language translations for the content. The internationalization module does all the back end work to facilitate selecting between one language or the other, but it will not translate the content. Internationalization provides the links and the interfaces for the translation for each language supported on the site.

Blocks: Blocks typically appear in sidebars and footers and can be used for many different things. You can use the Internationalization module to configure blocks differently by language and then give them the proper language-specific titles.

Menus: In a multilingual site, visitors will want to see menus in their own language. With the Internationalization module you can create different versions of menu entries for each language used on a site.

Taxonomy: Taxonomy is generally used to organize content into different categories. For example, you might have news articles divided into Tech, World and Sports categories. By using the Internationalization module, you can translate each category into its equivalent in each language (Tech, Welt, Sportarten in German). The vocabularies and terms will also have their equivalents for each language.

Localize Me
To begin your localization process, you can download and install a number of language packs from the Drupal website. However, if you’re paying a translator, it’s a better idea to install all the languages you’re going to use first and then make a list of everything that needs to be translated. That way you won’t over or under estimate the workload.

The administration panel will show you how many text strings and other items are untranslated, but you might want to do a once-over to rule out areas that won’t need translation. These can include:

Forums: Areas with user-generated content will not need to be translated (just moderated), but you could provide basic help, registration and account information in different languages. Keep in mind that that process could end in you building a separate forum for each language.

Large multinational sites: If you have a large multinational site in several different languages, then translation will likely become an ongoing maintenance process instead of a one-time shot.

Last but not least
Here are a couple of things you’ll want to consider with translating text:

Not all languages are created equal: Since two lengthy German words can equate to seven English words, the amount of space used can vary greatly. Be sure to check each page of each translation so you can fix any text overlap, design or spacing issues.
Remember that one language can incorporate several dialects: A good example of this is Mexico, Latin America and Spain. They all speak Spanish, but it’s three different versions of Spanish. Don’t forget the country-locale combo when you’re specifying the translations of the site each country will see.
Crunch the numbers: Dates, times, currencies and numeric quantities are all presented differently from country to country, so be sure to change them according to locale. This may require extra development time since most modules aren’t completely internationalized to accommodate these.

Overall, Drupal is the best content management system right now to develop a multilingual site. If you start to get overwhelmed by the geek speak, remember that someone somewhere out there has felt the same way. And they probably posted a solution that’s just one click away.

TwitterFacebookShare

Leave a Reply


7 + = thirteen

Get a Quote

Our Project Analysis form will help you organize your project and give us all of the information required to provide you with an accurate project proposal.


Facebook

Project Reel

Contact
4719 South Congress Ave.
Suite 200A
Austin, TX 78745
Phone:(512)366-8135
Toll Free: (800)778-4042
Fax:(512)366-8125
info@pixeldust.net
Click for Map
Tweets