multilingual content with wordpress
TRANSCRIPT
Élise Desaulniers Alexandre Simard
Multilingual Content With WordPress
@desa_simard
Languages spoken wordwideSource and date unknown(but nice chart)
The list of multilingual countries and regions is huuuuuge!
Multilingualism is a matter of
accessibility.
“We recommend that you do not allow automated translations to get indexed. (...) they could potentially be viewed as spam.
If your users can’t understand an automated translation or if it feels artificial to them, you should ask yourself whether you
really want to present this kind of content to them.”
No automated translation. Ever.
- Google :)
Flags are not languages.
Don’t use flags as language switchers.
I speak français, not French.
Provide a list of languages in their
language.
Use neutral icons
Adapt the layout to the language
direction.
This is English size 18حجم العربية اللغة هي 18これは日本サイズهذه 18です
Adjust your font size to the language.
If you must quote in another language, use the lang attribute:
<blockquote lang=”fr”><p>Cette présentation est emmerdante</p>
</blockquote>
Don’t mix and match languages inside a
single URL.
Cross-linking ? A nice to have.
A user lands on a German page. They can get to the French version of the same page with a single click. But there’s no
clear data on how often it is used.
(+ it might help with SEO).
Adapt your design.
Length of words varies from language to
language.
Let’s (try to) do thiswith WordPress
Translating WordPress
and themes and plugins
Choose language during or after installation
Get language packs from Updates page
Loco Translate: plugin to create or edit language packs yourself
What do we mean by “content”?Translating content
Post Content
Taxonomies
Menus and permalinks
Widget titles and text widgets
Settings: date formats, site title and description, etc.
We’re just getting started, actuallyPretty simple, eh?
Media (but only when there’s text in it)
Custom Fields: translate, don’t translate, synchronise?
Mo’ plugins, mo’ problems
Especially true in multilingual sites
Three approachesto solving content translation
Each post has multiple languages
qTranslate: abandonedmqTranslateqTranslate PluszTranslateqTranslate X: maintained fork
Mark translations manually when fields not handled by plugin
Each post has multiple languagesBenefits
Easy navigation between translations in admin
Manual codes allow handling of arbitrary fields
Now properly maintainedEasiest for custom fields
synchronisation: just leave them alone!
Limitations
“Just filter everything” is still a questionable software design
Modifies admin interface quite a lot
Manual codes not beginner-level
Can’t translate URLs (as of now)
Each post has a single language
WPMLPolylangBabble
Menu locations duplicated for each language
Basic editor for settings strings
Each post has a single languageBenefits
Many options to choose from
Interface looks more WordPress-native
Translatable URLs(Arguably) better software
design
Limitations
Settings translations complex
Custom fields handling complex
[WPML] Not free[Babble] Does not allow
creation of content in languages other default
Each site has a single language
Multiple WPMultisiteMultisite & plugin:
Multisite Language Switcher
Zanto WP Translation
Multilingual WordPress
Each site has a single languageBenefits
Plugins optional: yay for vanilla WordPress
Only solution for WordPress.com
Most compatible plugins out of the box
All settings translatable (header image!)
Limitations
Multiple WP installs: maintenance headache
Multisite: installation and hosting somewhat more complex
Most complex for custom fields synchronization
Zanto, Multilingual Press not 100% free
Cross-linking translations
Links to translations: where?
WidgetMenu item(s)Below content (in each post)Anywhere you want (template tag)
Questions to ask yourself
How to handle the home page language negotiation?Where to link if no translation of current page exists?Do you really need a page-to-page language switcher?
A fourth approach?Localization as a service
Add JavaScript snippet to site
Take translation out of WordPress
On each page view:1.Collect all strings on the page2.Send original strings to the service3.Service returns approved translations4.If approved translation exists, replace string with it
5.If not, add translation job in the service
Manage translations in service’s web app (here: Localizejs)
Localization as a serviceBenefits
Proper translation tool: glossary, translation memory, automated translation, workflow
Translate content and interface indifferently
Nothing needed in WordPress
CMS-agnostic
Limitations
Requires JavaScript from site visitors
Translate media, i.e. use different images in translations?
SEO impact unknownNot free or open source
Is this the future?
Élise Desaulniers Alexandre Simard
@desa_simarddesaulniers-simard.com