Drupal for multiple languages, part two: content types configuration

In the first article of this series, we configured Drupal core. Now we have to configure all the content types.

This site has four different content types: page, project, partner (this is for internal use) and article. Those articles are the blog posts. I am not using the blog module here, a blog is just a bunch of articles sorted by date, you don't need the blog module for that.

Anyway, Let's focus on our subject: configuring the content types to work in multiple languages. For example, we're configuring "page" content type.

Configuring pages

Go to Administer > Content Management > Content types > Pages > Edit. Go to the bottom of the page. You'll find a section called "workflow settings". Open it and activate Multilingual Support.

Multilanguage workflow settings

Now, below "workflow settings", there's a section named "multilanguage options". Due to a minor bug, it's quite possible you find this section disabled, as Drupal seems to be unaware of Multilingual support being activated for this node type. If this is the case, save and edit to get back to "multilanguage options", which you'll find now enabled. Then configure it like this:

The options on this content type work this way: Require language means that any node of this type we create must have a language selected, so this node exists in just one language. Not being required means that a node can be language neutral, which means that this node exists as is in all languages. It's up to you to decide if you want to allow neutral language content to exist.

Creating the content

Now that our content type is configured, we can create new content. When you create a new node, you can see something new in the form:

That's where you select the language for the content you're just creating.

But there is one thing left. We should have a way to tell Drupal something like: "this node is the translation to Spanish of this other node in English". How do we do that?

Creating the translations

Besides the "view" and "edit tabs, thre's now a third one: Translate. This is where we create translations for our nodes, or assign other nodes as translations of the one we're looking at.

See? there you can add a translation or assign a node as translation or another node.

Easy for us, but some people would find this a bit complicated. For some people, it's easy to create just one node, with fields for different languages, like "title (english)", "title (spanish)" and so on.

In the third article of this series, I'll show you how to reuse one node's content to create all language versions at the same time.

Update: Thanks to Oliver for corrections on this article.

I can't find the creating the translations part. with the screenshot above. How can i reach this? please help me(A)

To view the translations area as seen in the screenshot, the module must me properly installed and configured. You must also activate other helper modules that come with i18n: Content type translation, CCK Translation, Translation Overview, Synchronize translations. Check the part one of this article series to be sure the module is properly configured, then check the configuration of the content type you want to translate.

See first screenshot on this article.

Hi, thanks for this great series of articles on multilanguage. It's very clear and concise. However, I think you missed a step in the setting up of the content type: in Workflow settings, you need to enable Multilingual support with translation.

Oh, wow! you're right. I'll fix this ASAP. Thanks for your comments

When creating a block (text) I receive the message:
"The string block:4:body for textgroup blocks is not allowed for translation because of its input format."

How to overcome this limitation?

Thanks a lot for this tutorial which pointed me in the right direction.

HiIgnacio:
That's a very helpfull blog. Perhaps you know and can help me. Can you tell me how to configurate the tcontat module. I use all the i18n modules and i have created the contact language category but it doesn't work, it shows me the general contact form.
The website i'm building is http://prueba.codeparsed.com/.
Thanks.

Manuel

Hi Manuel.

I don't really know what's exactly your problem. I used TContact module a while ago, followed the instructions (http://drupal.org/project/tcontact), and it worked fine on the first try. I don't know how to help you, sorry.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <i> <b> <strong> <cite> <pre> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <img> <h2> <h3> <blockquote>
  • Lines and paragraphs break automatically.

More information about formatting options