multilingual content with wordpress
TRANSCRIPT
![Page 1: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/1.jpg)
Élise Desaulniers Alexandre Simard
Multilingual Content With WordPress
@desa_simard
![Page 2: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/2.jpg)
![Page 3: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/3.jpg)
![Page 4: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/4.jpg)
Languages spoken wordwideSource and date unknown(but nice chart)
![Page 5: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/5.jpg)
The list of multilingual countries and regions is huuuuuge!
![Page 6: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/6.jpg)
![Page 7: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/7.jpg)
Multilingualism is a matter of
accessibility.
![Page 8: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/8.jpg)
“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 :)
![Page 9: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/9.jpg)
Flags are not languages.
Don’t use flags as language switchers.
![Page 10: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/10.jpg)
I speak français, not French.
Provide a list of languages in their
language.
![Page 11: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/11.jpg)
Use neutral icons
![Page 12: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/12.jpg)
Adapt the layout to the language
direction.
![Page 13: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/13.jpg)
This is English size 18حجم العربية اللغة هي 18これは日本サイズهذه 18です
Adjust your font size to the language.
![Page 14: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/14.jpg)
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.
![Page 15: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/15.jpg)
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).
![Page 16: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/16.jpg)
Adapt your design.
Length of words varies from language to
language.
![Page 17: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/17.jpg)
Let’s (try to) do thiswith WordPress
![Page 18: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/18.jpg)
Translating WordPress
and themes and plugins
![Page 19: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/19.jpg)
Choose language during or after installation
![Page 20: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/20.jpg)
Get language packs from Updates page
![Page 21: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/21.jpg)
Loco Translate: plugin to create or edit language packs yourself
![Page 22: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/22.jpg)
What do we mean by “content”?Translating content
![Page 23: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/23.jpg)
Post Content
![Page 24: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/24.jpg)
Taxonomies
![Page 25: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/25.jpg)
Menus and permalinks
![Page 26: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/26.jpg)
Widget titles and text widgets
![Page 27: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/27.jpg)
Settings: date formats, site title and description, etc.
![Page 28: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/28.jpg)
We’re just getting started, actuallyPretty simple, eh?
![Page 29: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/29.jpg)
Media (but only when there’s text in it)
![Page 30: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/30.jpg)
Custom Fields: translate, don’t translate, synchronise?
![Page 31: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/31.jpg)
Mo’ plugins, mo’ problems
Especially true in multilingual sites
![Page 32: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/32.jpg)
Three approachesto solving content translation
![Page 33: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/33.jpg)
Each post has multiple languages
qTranslate: abandonedmqTranslateqTranslate PluszTranslateqTranslate X: maintained fork
![Page 34: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/34.jpg)
![Page 35: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/35.jpg)
![Page 36: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/36.jpg)
![Page 37: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/37.jpg)
![Page 38: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/38.jpg)
Mark translations manually when fields not handled by plugin
![Page 39: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/39.jpg)
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)
![Page 40: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/40.jpg)
Each post has a single language
WPMLPolylangBabble
![Page 41: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/41.jpg)
![Page 42: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/42.jpg)
![Page 43: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/43.jpg)
![Page 44: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/44.jpg)
Menu locations duplicated for each language
![Page 45: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/45.jpg)
Basic editor for settings strings
![Page 46: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/46.jpg)
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
![Page 47: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/47.jpg)
Each site has a single language
Multiple WPMultisiteMultisite & plugin:
Multisite Language Switcher
Zanto WP Translation
Multilingual WordPress
![Page 48: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/48.jpg)
![Page 49: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/49.jpg)
![Page 50: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/50.jpg)
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
![Page 51: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/51.jpg)
Cross-linking translations
![Page 52: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/52.jpg)
Links to translations: where?
WidgetMenu item(s)Below content (in each post)Anywhere you want (template tag)
![Page 53: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/53.jpg)
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?
![Page 54: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/54.jpg)
A fourth approach?Localization as a service
![Page 55: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/55.jpg)
Add JavaScript snippet to site
![Page 56: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/56.jpg)
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
![Page 57: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/57.jpg)
Manage translations in service’s web app (here: Localizejs)
![Page 58: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/58.jpg)
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
![Page 59: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/59.jpg)
Is this the future?
![Page 60: Multilingual content with WordPress](https://reader035.vdocuments.net/reader035/viewer/2022070516/58729b471a28ab07208b4a13/html5/thumbnails/60.jpg)
Élise Desaulniers Alexandre Simard
@desa_simarddesaulniers-simard.com