Translation module's current help page at admin/help/php contains just:

"For more information please read the configuration and customization handbook Translation page."

We need a fully-blown help page here, like admin/help/aggregator: one sentence description, paragraph of more detailed description.

Comments

Anonymous’s picture

The help should also make clear the difference between the "Translation" module and "Locale module." And if the two are meant to work together, the help text should explain how.

Freso’s picture

Subscribing.

gábor hojtsy’s picture

Here is a draft:

The content translation module allows you to translate content to different languages set up on your site. While locale module itself allows you to assign languages to posts, when you need to translate a post to another language, content translation module provides you with the possibility. Languages you can use can be set up on the <a href="@languages">language configuration page</a>, while you can set up any content type for content translation support on the <a href="@content-types">content types configuration page</a>.

Once a content type is set to support content translation, posts in that type will have a <em>Translation</em> tab providing an overview of the translations already available for that post, as well as allow you to submit new translations. When the original post is updated, other posts will appear in this overview as outdated to signal that a translation update is needed.

If you use content translation, it might be a good idea to turn on the language switcher block provided by locale module, which additionally to switching interface language, also switches content language, when appropriate.

The two links included would be internal to the corresponding admin pages: admin/settings/language and admin/content/types.

keith.smith’s picture

StatusFileSize
new2.45 KB

I admit to not having much of a clue how this module works, not having explored the content translation features in 6 to any significant degree.

That said, though, the attached patch is a first attempt.

keith.smith’s picture

Status: Active » Needs review

Changing status to CNR.

And "first attempt" was a poor choice of words, as the content in #3 is fine, and indeed, formed the basis of the text I used in #4.

I should have said "first attempt at a patch."

yoroy’s picture

Without being familiar with the actual module, here's an edit of the text to make sentences shorter and simpler without losing info:

Content translation module lets you translate content into different languages. Note that while locale module allows you to assign languages to posts, you'll need content translation module to actually translate a post to another language. First, make languages available on the <a href="@languages">language configuration page</a>, then enable content translation support for any content type on the <a href="@content-types">content types configuration page</a>.

Posts of translation enabled content types will have a <em>Translation</em> tab with an overview of all available translations and the option to submit new translations. When the original post is updated, its translations will be marked as outdated to signal that a translation update is needed.

If you use content translation it's generally a good idea to turn on the language switcher block provided by locale module. Besides switching the interface language it will also show your content in that language (where available).

In the version at #3, second paragraph When the original post is updated, other posts…, I think other translations is meant there.

Anonymous’s picture

I’ve walked through the module and revised the text to better reflect what the user will actually see and need to do.

I’ve indicated where the text needs more work. (Also, I haven’t bothered with the niceties of formatting.)

The content translation module lets you translate content into different languages. Though the locale module allows you to enable languages to use, to actually translate posts you’ll need to enable the content translation module as well.

To enable translation, here’s what you do:

* Go to the “Modules” configuration page [1] and there enable both the locale module and the content translation module. 

* Go to the “Permissions” configuration page [2] and assign permission to use the translation module to any user roles you wish. 

 * Go to  the ”Languages” configuration page [3] and enable any languages you want.

* Go to the “content types” configuration page [4]. There, for each content type for which you wish to enable translation, select “edit.” On the page that appears next, select “Workflow settings,” and there (under “Multilingual support”) choose “Enabled, with translation.” Then, at the bottom of the page, click “Save content type.”

Now, when submitting a post using a content type for which translation has been enabled, authors will see a “Language” choice box by which they can indicate the original language of the post. 

Once a post has been submitted, users with permission who view the post will see  a <em>Translate</em> tab. When they click on the tab, they’ll see a list of the available languages and for each language (other than the source language) the option to “add translation.” 

After clicking on “Add translation,” a user will see the usual text-submission page with the original source text. Now the user can translate that text (in the “body” area) into the new language, set any other options on the page, and at the bottom click “Preview” to see the translated post or click “Save” to save it.

------------------MORE WORK NEEDED------------

When the original post is updated, its translations will be marked as outdated [WHERE????] to signal that a translation update is needed.

If you use content translation it's generally a good idea to go to the “Blocks” configuration page [5] and turn on the language-switcher block provided by the locale module. Besides switching
the interface language it will also show your content in that language (where available). 
[AFTER ENABLING THE BLOCK, I DON’T SEE ANYTHING HAPPENING. AND I AM NOT SURE WHAT THIS TEXT SAYS SHOULD HAPPEN.]

------------------END OF “MORE WORK NEEDED”---------

The “Content management” page [6] will show the language for each post, and there you can use the filter to list only posts in whichever language you wish.


[1] [modules page]
[2] [permissions page]
[3] http://drupal.org/%40languages
[4] http://drupal.org/%40content-types
[5] [blocks page]
[6] [content management page]

Anonymous’s picture

Further progress.
I’ve revised the section I’d marked as “More work needed” (and also added a sentence to the paragraph that follows it).

Still to be solved: Where are the “outdated” flags displayed? (See note in the text below.)


When you <em>edit</em> an original post, before you save it you can flag all its translations as outdated (under “Translation settings”). Or when you edit a translated post you can flag it individually as outdated.

[BUT where will the translations be marked as “outdated”? I assume they should be so marked on the “Content management” page and in the “Status” column on the “Translate” page of the post. But that’s not what I actually see.]

When you use content translation you can also display to your users the language-switcher block. You enable the block on the “Blocks” page [LINK]. For the block to display, you must have at least two languages enabled (on the Languages page [LINK]) and must have a “language negotiation setting” set different from “none” (on the Languages configuration page [LINK]). The block will show users the languages they can choose from, and when users switch from one to another they can see both the translated interface (assuming you’ve installed it on the “Translate interface” page [LINK]) and (where available) the content in their chosen language. 

The “Content management” page [6] will show the language for each post, and there you can use the filter to list only posts in whichever language you wish. You can also list only posts that are up-to-date translations or only those that are not.

gábor hojtsy’s picture

The idea behind the workflow is that when you edit the original document, you can mark all translations as *outdated*, and when you edit a translation, you can mark it as *not outdated*. This is the use case. Editing a translation and marking a translation outdated is not really what we have in our mind, so focusing on documenting this possibly rarely used possibility might not be a good idea.

The outdated status sign will show up on the translation page. The content overview page does not show the state and there is no possibility to filter by outdated status. If this should be there, it is a usability feature request.

Anonymous’s picture

Gábor, let's see if I understand correctly:

One *can* mark a translation outdated, but that ability is just an extra feature, for which we expect rare use, and so we need not document it here.

Is that right? (That would be okay with me.)

You say:

"The outdated status sign will show up on the translation page. The content overview page does not show the state and there is no possibility to filter by outdated status. If this should be there, it is a usability feature request."

My problems:

1. In testing, I don't see the "outdated" sign showing up on the translation page. (I must be doing something wrong.)

2. I don't see how one marks a translation as being updated.

3. On the content overview page, I *do* see the option (in the "status" choice box) to filter for "out of date translation" or ""updated translation." (I don't know whether it works, but it's there.)

I think if we can resolve these three issues we can finish this help page.

thelmer’s picture

Priority: Critical » Normal

Hi

The translation module makes Drupal very interesting for our multi-lingual sites. Like some of the others I can't see that the "translation outdated workflow" works.

1) I set "Flag translations as outdated" in my source node
2) Nothing but node "updated" message is shown in node list
When I filter for "outdated translated" no nodes are shown
The node with the translation does not have "This translation needs to be updated" set

gábor hojtsy’s picture

OK, then we need another issue opened for fixing the translation update workflow. This should work. Please open an issue with the explanation, so we can try to reproduce.

pvasili@drupal.org’s picture

When approximately there will be a new version? To wait or work?

gábor hojtsy’s picture

pvasili: I don't understand the question.

gábor hojtsy’s picture

Priority: Normal » Critical

Let's get rolling with this people! I'd like to get a beta 3 out the door sooner then later and would like to get this fixed.

catch’s picture

I'd suggest that the "outdated" stuff gets taken out completely, and put in the handbook (or added in a follow-up patch). This is a combination of O Govinda's two posts with that bit taken out, and some minor grammar changes for clarity. It'll need someone who actually uses translation to take it home though, I don't.

The content translation module lets you translate content into different languages. Though the locale module allows you to enable languages and translate the system interface, to actually translate posts you’ll need to enable the content translation module as well.

To enable translation, follow these steps:

* Go to the “Modules” configuration page [1] and there enable both the locale module and the content translation module.

* Go to the “Permissions” configuration page [2] and assign permission to use the translation module to any user roles you wish.

* Go to  the ”Languages” configuration page [3] and enable any languages you want.

* Go to the “content types” configuration page [4]. There, for each content type for which you wish to enable translation, select “edit.” On the page that appears next, select “Workflow settings,” and there (under “Multilingual support”) choose “Enabled, with translation.” Then, at the bottom of the page, click “Save content type.”

When submitting a post using a content type for which translation has been enabled, authors will now see a “Language” choice box by which they can indicate the original language of the post.

Once a post has been submitted, users who view the post with the appropriate permission will see  a <em>Translate</em> tab. When they click on the tab, they’ll see a list of the available languages and for each language (other than the source language) the option to “add translation.”

After clicking on “Add translation,” a user will see the usual text-submission page with the original source text. Now the user can translate that text (in the “body” area) into the new language, set any other options on the page, and at the bottom click “Preview” to see the translated post or click “Save” to save it.

When you use content translation you can also display to your users the language-switcher block. You enable the block on the “Blocks” page [LINK]. For the block to display, you must have at least two languages enabled (on the Languages page [LINK]) and must have a “language negotiation setting” set different from “none” (on the Languages configuration page [LINK]). The block will show users the languages they can choose from, and when users switch from one to another they can see both the translated interface (assuming you’ve installed it on the “Translate interface” page [LINK]) and (where available) the content in their chosen language.

The “Content management” page [6] will show the language for each post, and there you can use the filter to list only posts in whichever language you wish. You can also list only posts that are up-to-date translations or only those that are not.

The “Content management” page [6] will show the language for each post, and there you can use the filter to list only posts in whichever language you wish.


[1] [modules page]
[2] [permissions page]
[3] http://drupal.org/%40languages
[4] http://drupal.org/%40content-types
[5] [blocks page]
[6] [content management page]
gábor hojtsy’s picture

Priority: Critical » Normal

@O Govinda, @thelmer: fixed the translation workflow bug so we can roll forward with documenting this.

@O Govinda, the built-in simple translation workflow is as follows:

- you edit your source content, you have a checkbox which says "mark translations outdated", you check this, save the node
- now all translations are marked outdated (and actually, as both of you pointed out, the /admin/content/node page enables you to filter by translation status)
- the translation page for that translation set (ie. "Translate" tab on any node in the set) shows the list and all translations outdated
- now edit a translation, and you see a "this translation is outdated" checkbox which is checked, uncheck the box, save the node and you are updated again

So the workflow requires explicit action on part of the editor to identify substantial changes which need translation updates and the translators can decide when they are ready with the updated document.

The latest CVS development version has the bug you both identified fixed, so go grab a new CVS version or do this simple change: http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/translation/transl... (actually, just remove ['translation'] from the array indices from line 123, my change also moves it to a more logical place but moving is not required to make it work right away).

gábor hojtsy’s picture

Priority: Normal » Critical

Doh, accidentally set to normal again :(

Reviewing catch's latest text:

- no need to say that this should be enabled, this help text is only visible, if the module is already enabled (so skip the modules page item from the list)
- you should "add and enable" languages on the language page, not just enable
- capitalized "Content types" instead of "content types", this item can be shortened too, basic things like click "Save configuration" is not something we usually explain
- "dropdown" instead of "choice box" (I never heard about choice boxes honestly)
- translation is not restricted to the body, so leave that off, also remove explanation of save and preview, they don't belong here
- "can also display to your users the language-switcher block" should be "can also display the language-switcher block to your users" IMHO
- this suggested text contains the last paragraph twice, but we would use the first one as far as I see

Thanks for keeping up the work here :)

catch’s picture

OK well let's do those at least. Tried to simplify the language elsewhere where I could.

TThough the locale module allows you to enable languages and translate the system interface, the content translation module is used to translate the actual content of posts.

To enable translation, follow these steps:

* Go to the “Permissions” configuration page [1] and assign permission to use the translation module to any user roles you wish.

* Go to  the ”Languages” configuration page [2], add and enable any languages you want.

* Go to the “Content types” configuration page [3]. To enable translation for a content type, select “edit.” >> “Workflow settings,” then (under “Multilingual support”) >> “Enabled, with translation.”

Authors will now see a “Language” drop down when submitting translation enabled content types , allowing them to indicate the original language of the post 

Once a post has been submitted, a translate tab will be available to users with the appropriate permission. This tab presents a list of the available languages, and for each language (other than the source language) the option to “add translation.”

On the add “Add translation” page, users will see the usual text-submission page with the original source text. Now the user can translate that text into the new language.

When you use content translation you can also display the language-switcher block to your users. For the block to display, you must have at least two languages enabled and "language negotiation" enabled (on the Languages page [LINK]). This block will allows users to choose from the available languages, and changes the system interface and content languages where either or both are available.

The “Content management” page [5] will show the language for each post, and there you can use the filter to list only posts in whichever language you wish. You can also list only posts that are up-to-date translations or vice versa.



[1] [permissions page]
[2] http://drupal.org/%40languages
[3] http://drupal.org/%40content-types
[4] [blocks page]
[5] [content management page]
gábor hojtsy’s picture

Actually, language features are not provided by "content translation", so we should not go into great detail here about the language switcher block. Note that I explicitly included the text "... provided by locale module" to point this out, but this was lost somehow. So tone down "unrelated" stuff. Document those, where they are (ie. in locale module). Here we concentrate on content translation. Removed some "you"-itis from the text, and generalized it more as I see other help text is written in Drupal. Added in translation workflow. Added a list of proper links to use in url() at the end.

Though the locale module allows you to enable languages and translate the system interface, the content translation module is used to translate the actual content of posts. To enable translation for certain kinds of content types, follow these steps:

* Go to the “Permissions” configuration page [1] and assign permission to use the translation module to the desired user roles.
* Go to  the “Languages” configuration page [2], add and enable any languages required.
* Go to the “Content types” configuration page [3]. To enable translation for a content type, select “edit,” go to “Workflow settings,” then (under “Multilingual support”) choose “Enabled, with translation.”

Additionally to each content of the given type having a “Language” drop down on submission, a “Translate” tab will be available to users with the appropriate permission, allowing content translation. This tab presents a list of all available languages, and for each language (other than the source language) the option to add a translation. On the “Add translation” page, users will see the usual content submission screen with the original source text filled in, ready for translation.

When authors edit the original content making significant changes to its content, translators should revisit this post and update their translations. The “Flag translations as outdated” checkbox helps marking all translations outdated. Translators will be able to flag their version updated by unchecking “This translation needs to be updated” on the translation editing form. The “Content management” administration page [4] shows the language of each post, and also allows filtering by language or translation status.

The content translation feature works with the language switcher block [5] provided by locale module, so when a different language is chosen, the content is also switched to the desired language, if available.

[1] admin/user/permissions
[2] admin/settings/language
[3] admin/content/types
[5] admin/content/node
[4] admin/build/block
keith.smith’s picture

Heh.

I was also working on this issue independently, without noticing the last two comments.

Here's where I got to when I refreshed this issue and noticed that people were actively working on this.

The content translation module allows content to be translated into different languages. Working with the locale module (which manages enabled languages and provides translation for the site interface), the content translation module is key to creating and maintaining translated site content.
 
To configure content translation features:
 
* Assign the “translate content” permission to the appropriate user roles at the Permissions page.

* Enable desired languages at the “Languages” configuration page.
 
* Determine which content types should support translation features. For each of these types, choose the “Enabled, with translation” option (under “Workflow settings”, “Multilingual support”) while editing the content type. Be sure to save each content type after enabling this option.

Working with translation-enabled content types:
 
* Use the “Language” dropdown to select the appropriate language when creating or editing posts.

* Provide new or edit current translations for existing posts via the “Translation” tab. This tab, which is only visible while viewing a post as a user with the “translate content” permission, allows specific translations to be added or edited using a specialized form that also displays the content being translated.

Managing translation-enabled content:

* Display the language of each post using the administrative content management page.

* Use the administrative content management page to filter posts by a specific language, or based on the status of their translations (either up to date or outdated).
 
Viewing translated content:

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

* Note that the language switcher block is only displayed if (a) the block has been enabled using the blocks page, (b) at least two languages have been enabled on the Languages page, and (c) the “language negotiation setting” is set to something other than “none” on the Languages configuration page.

The last couple of followups have been very good, it is likely that they already read better than this.

keith.smith’s picture

Yep, both of those read very well.

I've tried to combine some of the best parts of each in the following:

The content translation module allows content to be translated into different languages. Working with the locale module (which manages 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 and translation-enabled content types:

* Assign the “translate content” permission to the appropriate user roles at the "Permissions" configuration page [1].

* Add and enable desired languages at the “Languages” configuration page [2].

* Determine which content types [3] should support translation features. To enable translation support for a content type, edit the type and at the "Multilingual support" drop down, select "Enabled, with translation". ("Multilingual support" is located within "Workflow settings".) 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 [4] displays the language of each post, and also allows filtering by language or translation status.

Use the language switcher block [5] 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.
 
[1] admin/user/permissions
[2] admin/settings/language
[3] admin/content/types
[4] admin/content/node
[5] admin/build/block
keith.smith’s picture

StatusFileSize
new4.71 KB

And a patch, with the help text as shown in #22.

Incidentally, is there an easy way to get this module's help to show up in the "C"s, instead of the "T"s. It looks odd for it to appear as "Content translation" but be shown in the T section of the list, due to it being named "translation.module".

gábor hojtsy’s picture

Status: Needs review » Fixed

Thanks, comitted. Also added this text as initial content for the http://drupal.org/handbook/modules/translation page.

Fixing the help text ordering could be another issue. We already fixed module ordering on the module page (that was also based on module filename initially, not module name). A similar fix could be applied here too. See http://drupal.org/node/179164

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.

phicarre’s picture

Status: Closed (fixed) » Active

The translation module is absent after the installation of the last version of the i18n module (6.x.1.0beta3).
Why ? How to add it ?

catch’s picture

Status: Active » Closed (fixed)

phicarre, please post this against the i8n issue queue. Last time I looked, translation module was definitely still where it should be.