Technical Account Manager at Lingotek.
Technical Account Manager
Who am I?
- 5th year at FLDC
- Long time lurker, first time presenter
- Lingotek TAM
- Onboarded and support over 20 clients on D7, D8, WordPress, Marketo, Eloqua and more
i18n, l10n, & t9n...?
t9n, or Translation
- Communicating written meaning from one language to another.
- Only one element of localization
l10n, or Localization
- actually adapting your site to a locale or target market.
- Graphics, Layout, Date/Phone formats
i18n, or Internationalization
- a design mentality for developing code that can be easily localized
- "How READY are you for localization?"
The Alphabet Soup, translated.
The Four Major Players
- Site Architecture
- Carefully Considered Code & Contrib
- User Experience
Make thoughtful plans for how to manage your content.
- Use reasonable naming conventions.
- Keep your content and your layouts separate.
- Know what needs to be localized in a content type.
- Where do links live? Inline WYSIWYG or in link fields?
- Are there graphics with text that need to be localized?
- Are there downloads that need to be localized?
D7: Field vs. Node translation
Which is best for you and your client?
- Field Translation
- Creates a new field value with a unique language code, associated with the same NID
- Only have one version of node for Content Administrators
- Node Translation
- Creates a new Node ID for each target language
- End up with multiple versions of a node for Content Administrators
D8 + Paragraphs
The best, most frustrating thing to happen to translation in D8.
- Find a solution that lets your customer request translations for the parent entity, that automatically pulls in and translates the child paragraphs.
- Nested Paragraphs are great, but require thoughtful configuration. Plan extra time for this step.
- Have a standardized Development workflow for your team.
- Discuss where and how to test your localization + translation.
- Recommend finding a way to psuedolocalize the site during the Dev process.
- Psuedolocalize = Practice using your translation process with Machine Translation for instant feedback to make sure everything you expect to translate on a page, is translating.
- Saves your client time and money in the long run.
- Psuedolocalize with a non-Latin character set language like Arabic or Japanese.
- After translations are live, have a plan for how new development can take place without disrupting the live translations.
- Where is your client authoring content?
- Does your client need the ability to stage content
for translation before it goes public on the live site?
- Plan extra time into your development cycle for Psuedolocalization and resolution of issues.
- When working with a Language Service Provider, make sure everyone is on the same page with how long Human Translation will take.
- 1 Translator can translate 1500 words per day on average
- 1 Reviewer can review 8000 words per day on average
- 4 Translators is the max to put on a project for quality reasons
- Throughput of 6000 words per day for quality.
Translation. Takes. Time.
The 4 C's
Coding for Localization
DO NOT HARD CODE STRINGS IN TEMPLATE FILES.
- D7: t() is your friend. D8+Twig: trans() is your friend.
DO NOT HARD CODE STRINGS IN TEMPLATE FILES. EVER.
- Most UI or template strings have to be downloaded into a .po file for translation with a vendor. This file can get pretty big because it also strings from Core. Be careful.
- NO REALLY. DO NOT HARD CODE STRINGS IN TEMPLATE FILES. EEEEEEVEEEEER.
Choose Contrib Carefully
- Support for i18n widespread in D8
- Popular Contrib modules still do it better
- Custom Ecosystems have more problems.
Make it easy for your users.
If translation is hard, they wont do it.
- Identify places where you can create a UI to ensure everything that makes up a single end-user facing page is translated at once.
- Consider scripting initial pushes of entities for translation if there's a lot of content.
- Make it easy to determine if content has changed since the last translation.
aka: Ask me anything! (Ok, almost anything)
Find me or Christopher at the Lingotek booth!
Lingotek on Drupal
GALA - Globalization & Localization Association
FLDC 2018 - Beginner's Guide to Localization
By Kaylan Senour