Transcript

MANAGING TRANSLATION WORKFLOWS FOR DRUPAL 7

About Me

Suzanne Kennedy, Co-founder

Training, Development, Consulting

evolvingweb.ca | 514-844-4930

@suzanne_kennedy

Multilingual Projects

Translation Workflows

Goal of Translation Workflows

• Translation is:• Time-consuming • Expensive

• How can you speed up the process and reduce the amount of text to be translated?

What are Translation Workflows?

Translator

Benefits of an External Translation Tool

• Easier for translations to learn• Tracks cost of translation• Provides integration with machine/

community-sourced translations• Advanced features (translation memory)• Integration with multiple translation teams

Benefits of Doing Translation in Drupal

• Less overhead• Less expensive• Add translations as you go• Takes advantage of Drupal’s content

management tools• Easier to provide context

Two Types of TextUser-Interface Strings Content

Two Types of TextUser-Interface Strings Content

+

In code

In the database

Translation Workflows for UI Strings

Translation Workflow for UI Strings

1. Pull in contributed translationsfrom localize.drupal.org

2. Override translations +add translations of user-defined strings

Using Translations from Localize.Drupal.org

UI Strings in Code

Use Localize.Drupal.org• Each language has a project• Translators contribute translations in their

language• Some projects have better coverage than

others.

Localize.Drupal.org Project Page

What is a .po file?• Text file storing the

original text and the translations.

• A .pot file is a template file, containing only the original text to be translated.

Upload .po files to Drupal

Localization Update

drupal.org/project/l10n_update

Localization Update

Translation Overview

Overriding Translations in Drupal

Overriding a Translation

Editing a Translation

Editing a Translation

Override Translations

Use Localization Client

drupal.org/project/l10n_client

Sharing Your Translations

Add your API key from localize.drupal.org to contributeyour translations back to the community.

Overriding/Adding Translations Outside of Drupal

Use POEdit to Translate

Translations Spreadsheet

Translating Outside Drupal

Translator

CSV Template

CSV with Translations

.po file for each language

Re-using Your Translations

Translating User-Defined Strings

User-Defined Strings• Strings added in the admin UI (not in

code)• For example: Views text

Other User-Defined Strings

• Block text• Menu items• Field settings

Translate Interface

Translate Tab

Translate Tab

User-Defined Strings

Challenges• Giving translators access to block/field/

menu configuration• Allowing translators to use all input formats• Changing the original values• Changing the default language

Translation Workflows for Content

Content Translation Workflow

AuthorTranslator

1. Author creates a new node 2. Translators adds a translation

Translation Workflows for Content: Translating in Drupal

Translation Interface in Drupal

Node-Level vs. Field-Level Translation

Field-Level Translation Node-Level Translation

Creating a Translation Workflow from Scratch

• Permissions for translators• Rules and Flag to trigger translation

requests• Views for Translators

Permissions for Translation

• Content Translation: Translators need to be able to create content

• Entity Translation: Permission to edit the Entity Type

• No granular translation permissions per content type (use i18n_access)

Typical UI for Translators

Challenges• Different UI for Entity Translation/Content

Translation (Confusing)• Professional translators need to learn

Drupal• Need to build system for reviewing

translations

Modules for Translation Workflow

• Translation Management Tool (TMGMT)• Lingotek Collaborative Translation

Translation Workflows for Content: TMGMT Module

Translation Management Tool (TMGMT)

drupal.org/project/tmgmt

Translation Management Tool (TMGMT)

Drupal

Microsoft Translator

Microsoft Translator

Requesting Translations

Choosing a Translator

Review Translation

Review Translation

Accepted Translation Appears

Translate in Bulk

Translation ‘Jobs’

Benefits of TMGMT• Works with Entity and Node Translation• Easy to configure• Allows you to hook into your own

translation service, if you’re a developer• Translation of UI Strings on its way

(blocks, menus, etc.)• Translation UI in Drupal on its way

Translation Workflows for Content: Lingotek Module

Lingotek Module

drupal.org/project/lingotek

Lingotek

Drupal

IndividualTranslator

Create a Lingotek Account

Connect to Machine Translation Tool

Create a Project

Create a new project for each Drupal website

Lingotek Translation Per Content Type

Disables manual translation of content

Lingotek Translation Tool• Enables translation at the field-level• Need to flag fields as being translatable

Send a Node for Translation

Translating a NodeSwitch the site to French, and you’ll see a message:

Click on the link to go to the Lingotek Translation UI

Updating the Translation

In order to accept the translation and publish it to the site, you have to click ‘Update’.

Translation Appears

Project Status

Benefits of Lingotek• Translation memory• Sophisticated translation workflow• Advanced feature set (i.e. settings for

tokens to ignore, etc.)• Community-sourced translations• Provides a UI for professional translators

Conclusion

What to Take Away• Map out your translation workflow before

you start• Talk to your translators and figure out

their needs/role• Use the Localization Update module• Plan for adding more languages• Take advantage of translation

management modules

top related