Community Documentation

Translating content to different languages (Content Translation core module)

Last updated January 19, 2012. Created by sajitha on November 11, 2007.
Edited by Kristen Pol, sylvain_a, arianek, Fiable.biz. Log in to edit this page.

When the Content Translation module is enabled you can translate site content into different languages. Working with the Locale module (which manages the enabled languages and provides translation for the site interface), the Content Translation module is key to creating and maintaining translated site content.

Configuring content translation

  1. Navigate to the Permissions page (Administration > User permissions in Drupal 6, or Administration > People > Permissions in Drupal 7) and assign the “translate content” permission to the appropriate user roles.
  2. Navigate to the Languages page (Administration > Settings > Language in Drupal 6, or Administration > Configuration > Regional and language > Languages in Drupal 7) and add and enable desired languages.

Enabling translation support for a content type

  1. Navigate to the Content types administration page (Administration > Content > Types in Drupal 6, or Administration > Structure > Content types in Drupal 7).
  2. Select a content type you want translated, and select "edit", then "Workflow settings" for Drupal 6 or "Publishing options" for Drupal 7.
  3. At the "Multilingual support" section, select "Enabled, with translation".
  4. Be sure to save each content type after enabling multilingual support.

Working with translation-enabled content types

  • Use the “Language” drop-down to select the appropriate language when creating or editing posts.
  • Provide new or edit current translations for existing posts via the “Translation” tab. Only visible while viewing a post as a user with the “translate content” permission, this tab allows translations to be added or edited using a specialized editing form that also displays the content being translated.
  • Update translations as needed, so that they accurately reflect changes in the content of the original post. The translation status flag provides a simple method for tracking outdated translations. After editing a post, for example, select the "Flag translations as outdated" check box to mark all of its translations as outdated and in need of revision. Individual translations may be marked for revision by selecting the "This translation needs to be updated" check box on the translation editing form.
  • The "Content management" administration page displays the language of each post, and also allows filtering by language or translation status.

Use the language switcher block provided by Locale module to allow users to select a language. If available, both the site interface and site content are presented in the language selected.

Read more:

Comments

How to avoid problems with path aliases

Please make sure that all languages have their path prefix set-up (Home › Administer › Site configuration › Languages > Edit > Path Prefix). This will prevent you from getting ugly "Page not found" error messages for translated pages that are accessed using path aliases.

Thank you, you actually saved

Thank you, you actually saved my day.

I had a strange issue, that logged in users got 404 errors while switching between translated articles. All worked fine for anonymous users. After giving even the default language a prefix it worked for everyone.

This guide states "this

This guide states "this (“Translation” ) tab allows translations to be added or edited using a specialized editing form that also displays the content being translated."

However in my case from the translation tab you create a new node with a different node ID and may have different settings (taxonomy, publishing options etc may be different from the original). There is no "specialized edit form".

Am I missing something? Or this part of the guide does not apply to drupal 6.x?

I am having the exact same problem

If I want to translate a "story" node, then when I click on "translate" tab, and enter the translation and save it, now I have TWO stories showing up on my frontpage because both these are different nodes.

Do I have to remember to manually turn off "promoted to front page" each time I'm translating content?

Regards,

Z

A man who carries a cat by the tail learns something he can learn in no other way. ~Twain

Regarding Translation tab not appearing

Hello,

If translation tab is not appearing when you the node, the problem is with settings. You have to enable this setting for each content type.
Go to content management > content types and then edit the content type for which you want the tab. Then in the "workflow settings" under "Multilingual support" check "Enabled, with translation" option and then check.

Shinh

Thanks, another issue about admin theme.

Thanks Shinh, you saved me from self hair removal.
Still, i got an issue about the theme used while translating, when i click the tab, it switches to my frontend theme (also my default),
which is quite annoying...

Any suggestion?

*edit
I did not set the admin theme for editing content
and had to style the forms correctly in my frontend theme.

Mik

Pro designer and *freestyle* coder since '99. Newb to Drupal, looks awesome, no regrets to forget: dusty company CMSs, Spip, Joomla*, WordPress, Typolight. (* especially this one!)

No Translation Tab

I have "Enabled, with translation" checked under Workflow Settings > Multilingual for the selected Content Type. I view a page of that content type and still do not see the Translate tab. ...any other ideas? Additionally, I am using the default Garland theme.

Ensure a specific language is set on original node

I had this same problem just now. The issue was that my original node was set to "language neutral". You need to set it to a specific language before the translate tab will appear.

HELP please please

I want a user role to be able to only translate already existing content. But he must not be able to create new content. The problem is that translating a content means creating a new node of the same content type. Any solutions?

Thanks in advance

Not sure but..

I'm currently trying to figure out the translation management module and would suggest you give it a peek. Here, I only need to assign permissions for my translator from the translation management module and not have to mess with the other permissions.

So in essence, translators will be able to only translate and not create new content.

Cheers!

A man who carries a cat by the tail learns something he can learn in no other way. ~Twain

How can I translate the

How can I translate the menu.?
this module only translate the content but it will be good if it can translate the menu too
example "About us" in english, then when you click for french it should show "A propos "
maybe it's me that doesn 't know how to do it :)

Translating the Menu

For Primary links, Create the links for both languages and within that menu item, select the language for what you want it to display.

e.g.

Primary Links >
- Home
- Company
- Services
- Casa
- Servicios
- Compañía

...English version will display for English, Spanish for Spanish.

Thanks for the tip, but..

Dear Dale,

this is excatly what I was looking for, too, but I just can't find the way to
"within that menu item, select the language for what you want it to display."

I have Drupal 6, and got everything else done fine, so could this be about site themes (a different theme for admin and another for users)?
Or am I missing something about editing a menu item, because at the Edit menu item form (admin/build/menu/item/itemnumber/edit) I have only fields for Path, Menu link title and Description, boxes for Enabled and Expanded, and dropdown lists for Parent item and Weight.

Kindly, help me, please.

BR,
MerjaS

MerjaS
www.gurux.org
------------------
Drupal 6.22
MySQL database 5.0.77
PHP 5.2.8
server Microsoft-IIS/7.0

Not the simplest solution, but got it done, though

This needed the "internationalization" module installed.
Now I have the primary links displayed as I wanted to.

Regards,
MerjaS

MerjaS
www.gurux.org
------------------
Drupal 6.22
MySQL database 5.0.77
PHP 5.2.8
server Microsoft-IIS/7.0

Wonderful

I was trying to use just locale and content translation and was scratching my head how to do this without having redundant menu items in different languages.

Cheers.

A man who carries a cat by the tail learns something he can learn in no other way. ~Twain

User.module (translate.spanish)

Hi I was wondering if there is a way to translate "User Accounts" to "Cuentas de usuario" (spanish)

for example if you go to http://drupal.org/user

you will see:

Usser Acount

Create a new account | Log in | Request new password

Where can I translate that part of the code? I just dont know where this is coming from??

If someone knows the answer please help.

You can translate every label

You can translate every label in admin/build/translate .

Just search the string in admin/build/translate/search or do a bulk translation with import/export.

Under 'site building' there is 'translation interface'

If you ever want to change any of the built-in words/sentences in Drupal default, for ex - the description of the node types in add/node/page, then you will have to use the 'translation interface'.

If you have a lot of words that need changing (it will actually show you how much percentage of the site is translated to your language), then I'd suggest exporting the .po file, filling it in with the proper translation and then importing it back and voila, you have your multi-lingual site.

Cheers.

A man who carries a cat by the tail learns something he can learn in no other way. ~Twain

Menu translations Drupal 6

I have just struggled through how to do multiple languages for menu translations and it cost me quite a bit of time to figure out.

I have put a blog entry at https://theingots.org/community/node/27111 to explain how I got it to work in case it helps anyone else.

Translated content losing association

For some reason after translating a piece of content the association with the original page is gone. Any ideas? Here's an example: http://www.screencast.com/users/iansilber/folders/Jing/media/97d1364a-8e...

Might be...

... that you're actually creating a revision of the page?

I haven't worked with revisions so I'm not totally sure, but try to uncheck the revision box and see if it works.

Cheers.

A man who carries a cat by the tail learns something he can learn in no other way. ~Twain

About Translating Blocks

Hello there!

All translations I have done so far, are working fine. This really is a great feature in Drupal, I can have a real multilingual site, with fairly little effort.

Translating the Menus and "normal" Block works like clock-work, too, after I read the instructions to create an own menu / block for each language, and then separate them with "Show only on listed pages" setting, using path prefix.

The problem is only with content types that require the setting Identification => Make a listing page for this content type, in order to work the way I want them to.
For this content type, (at the admin/content/node-type/) I have selected:
Workflow settings => Multilingual support: Enabled, with translation, and
Multilanguage options => Normal - All enabled languages will be allowed

Translating the content itself works fine, of course, but the listing page gets a new list item of every translated page of that type.
I want to separate the different languages to two different listings pages, one language per list.

I think there must be a way to fix this, but just can't seem to see how. Please, help!

Kindest regards,
MerjaS

MerjaS
www.gurux.org
------------------
Drupal 6.22
MySQL database 5.0.77
PHP 5.2.8
server Microsoft-IIS/7.0

Duplicated articles

I think that I have followed all the advice above, but end up with the same articles appearing in both English and French Sites, i.e. the English article and the translated French one. Any ideas where I have gone wrong?

A supplementary question is on Menu translation. I have installed Openpublish and the primary menus partially change when the language is changed. A number of terms however remain in English. I have used menu translate and added the translations into the fr.po files. Again what I am doing wrong?

All help gratefully received to avoid damaging myself on these brick walls

Riverrat

When all else fails read the manual

Re: Duplicated articles

I think that I have followed all the advice above, but end up with the same articles appearing in both English and French Sites, i.e. the English article and the translated French one. Any ideas where I have gone wrong?

Thats by design. See my issue: http://drupal.org/node/1029724

Re: Duplicated articles

I have found out that it is possible to resolve the problem. After reading the comments on http://drupal.org/node/1029724 I realised that some other control not associated with language setting should solve the problem, if it was solvable. The only one that I could think of was Views.

The solution is
Add an extra filter to Views for the content type.
The filter is node translated: equal to one of current language and no language.

Et voila tout est en ordre!

I hope that some one else will benefit from the pain that I have endured.

Unfortunately the menu translation problem is still unsolved

Riverrat

When all else fails read the manual

Re: Duplicated articles

Your tip works great for the frontpage, Riverrat! Merci

About menu translate

Just double checking but when you goto admin/build/translate does it show your language (fr) as having 100% translation? If not, that may be the problem. You can easily change Drupal's built-in strings from there.

Cheers.

A man who carries a cat by the tail learns something he can learn in no other way. ~Twain

Documentation Headache

I just begun using Drupal and was enthusiastic at first. Clean interface I said. Then I grew disillusionned when I needed documentation: same old disorganized crap as all the other open source projects I know. Took me 3 hours to figure out how to use the multilingual possibilities. Generally speaking, my comment about your doc is that there are just too many articles on the same subject, saying radically different things, just to mix people's mind more if that's possible, with the versions 5, 6 & 7 variants to boot. I think I will go back to Joomla... A.R.

Don't give up so easily? ...3

Don't give up so easily?

...3 hours really isn't that bad. Once you've figured it out, just add that knowledge to your toolbox. Next time it won't be any effort. Drupal really isn't a cookie cutter solution though, which is what makes it so powerful. ...and like you said, occasionally difficult at times if you're not too sure how something functions.

Awesome

Now the Joomla community gets to deal with you :) jk. Drupal, as like any other skill, takes time and patience to train.

Cheers!

A man who carries a cat by the tail learns something he can learn in no other way. ~Twain

Is it possible to only

Is it possible to only present users with the translate button if they created the page that is being translated? (if admin, of course). We have a trilingual site but would rather than users are only able to translate pages they post, rather than posts generated by other uses.

Cheers,
Andy

p.s. i wont be going to joomla if i cannot do this - i switched from joomla a few years ago and never looked back.

NEED HELP!

Navigate to the Permissions page (Administration > User permissions in Drupal 6, or Administration > People > Permissions in Drupal 7) and assign the “translate content” permission to the appropriate user roles. <- IF THERE IS NO translate content in PERMISSIONS then what to do???!!

Check to see

... that the modules "Content Translation" and "Locale" are checked/enabled.

A man who carries a cat by the tail learns something he can learn in no other way. ~Twain

Thumb up for

Thumb up for the
http://drupal.org/documentation/modules/translation#comment-1972314

suggestion which fixed my issue I've been working on for 2 days.
"Page not found" for every english ['en' prefix missing] language page, with no other usefull detail to help debug.

Note: this issue came out after upgrading from 5 to 6

image references have prefix added, too

So far, so good - I've got it working in principle with a site running English as "first language" and German second, using the "de" path prefix. The problem I'm running into now is that the prefix is also automagically added to image references, leading to the images not being found.

E.g. if I have an image in the English page living at /sites/default/files/images/image.jpg and have a German translation of the page referencing the same image, it's not found because the generated path for it is /de/sites/default/images/image.jpg. I have tried working around that by creating a de directory and linking to ../sites from within it, or by creating a symbolic link "de" in the drupal directory, but both approaches created other problems. And it shouldn't be that way in the first place. What am I missing?

Hi have translated some content, and the translated title shows up, with the original title (untranslated) in the title bar... what have I done wrong?

Page status

Needs updating

Log in to edit this page

About this page

Drupal version
Drupal 6.x, Drupal 7.x
Audience
Site administrators
Keywords
i18n
Drupal’s online documentation is © 2000-2012 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.