SlideShare a Scribd company logo
Élise Desaulniers
Alexandre Simard
Multilingual Content
With WordPress
@desa_simard
Multilingual content with WordPress
Multilingual content with WordPress
Languages spoken wordwide
Source and date unknown
(but nice chart)
The list of multilingual countries
and regions is huuuuuge!
Multilingual content with WordPress
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 this
with 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, actually
Pretty 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 approaches
to solving content translation
Each post has multiple languages
qTranslate:
abandoned
mqTranslate
qTranslate Plus
zTranslate
qTranslate X:
maintained fork
Multilingual content with WordPress
Multilingual content with WordPress
Multilingual content with WordPress
Multilingual content with WordPress
Mark translations manually when fields not handled by plugin
Each post has multiple languages
Benefits
Easy navigation between
translations in admin
Manual codes allow handling
of arbitrary fields
Now properly maintained
Easiest 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
WPML
Polylang
Babble
Multilingual content with WordPress
Multilingual content with WordPress
Multilingual content with WordPress
Menu locations duplicated for each language
Basic editor for settings strings
Each post has a single language
Benefits
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 WP
Multisite
Multisite & plugin:
Multisite
Language
Switcher
Zanto WP
Translation
Multilingual
WordPress
Multilingual content with WordPress
Multilingual content with WordPress
Each site has a single language
Benefits
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?
Widget
Menu 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 page
2.Send original strings to the service
3.Service returns approved translations
4.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 service
Benefits
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 unknown
Not free or open source
Is this the future?
Élise Desaulniers
Alexandre Simard
@desa_simard
desaulniers-simard.com

More Related Content

PDF
Help Me Help You: Practical Tips for Designers from A WordPress Developer
PPTX
PPTranslate introduction
PDF
Demystifying DITA to PDF Publishing
PPTX
Going Global WordPress Multilingual
PDF
Responsive Prototyping with WordPress and Atomic UI Libraries - anthonydpaul ...
PDF
How To Be A Better Developer
PDF
Desert code camp 2014, iOS and Android development for c# developers with Xam...
PPTX
Ignite template barac urrutia final presentation
Help Me Help You: Practical Tips for Designers from A WordPress Developer
PPTranslate introduction
Demystifying DITA to PDF Publishing
Going Global WordPress Multilingual
Responsive Prototyping with WordPress and Atomic UI Libraries - anthonydpaul ...
How To Be A Better Developer
Desert code camp 2014, iOS and Android development for c# developers with Xam...
Ignite template barac urrutia final presentation

Viewers also liked (20)

PPTX
Using Actions and Filters in WordPress to Make a Plugin Your Own
PDF
You have 2 hands Toronto
PPTX
Mystery solved pages vs posts
PPTX
Ecomm 101
PDF
Community Consultation Creates Compelling Content
PDF
Systematic Unit Testing
PDF
WordCamp Toronto 2015- API Simple Talk
PDF
How I Made a Career Using WordPress Without Knowing a Line of Code
PDF
Here Be Dragons - Debugging WordPress
PDF
A Noob's Journey to the Core
PDF
Wordcamp_mcglade_ux_mashups
PPTX
Building and Maintaining A Remote Workforce - A Startup Story
PDF
Writing Secure Code for WordPress
PDF
Speeding up your WordPress Site - WordCamp Toronto 2015
PPTX
PDF
Best Friend || Worst Enemy: WordPress Multisite
PDF
Delightful Design with the Kano Model (WordCamp Toronto 2015)
PDF
How to use CSS3 in WordPress
PPTX
Piecing Together the WordPress Puzzle
PPTX
Content Doesn't Grow on Trees - Intruduction to Content Strategy
Using Actions and Filters in WordPress to Make a Plugin Your Own
You have 2 hands Toronto
Mystery solved pages vs posts
Ecomm 101
Community Consultation Creates Compelling Content
Systematic Unit Testing
WordCamp Toronto 2015- API Simple Talk
How I Made a Career Using WordPress Without Knowing a Line of Code
Here Be Dragons - Debugging WordPress
A Noob's Journey to the Core
Wordcamp_mcglade_ux_mashups
Building and Maintaining A Remote Workforce - A Startup Story
Writing Secure Code for WordPress
Speeding up your WordPress Site - WordCamp Toronto 2015
Best Friend || Worst Enemy: WordPress Multisite
Delightful Design with the Kano Model (WordCamp Toronto 2015)
How to use CSS3 in WordPress
Piecing Together the WordPress Puzzle
Content Doesn't Grow on Trees - Intruduction to Content Strategy
Ad

Similar to Multilingual content with WordPress (20)

PDF
wcdk - Making your WordPress Multilingual
PDF
Multilingual WordPress (WordCamp Toronto 2014)
PDF
Multilingual WordPress
PDF
WordPress Multilingual: Benefits and Considerations
PDF
Going Global - WordPress Multilingual
PDF
Make Your WordPress Site Multilingual with Polylang
PPTX
WordPress Internationalization and Localization - WordPress Translation Day 3...
PDF
WordPress Internationalization, Localization and Multilingual - Do It Right
KEY
Languages in WordPress
PPTX
Getting WordPress to speak your langauge
PDF
Multilingual WordPress With Polylang
PDF
Taking WordPress to the World : Options for a Multilingual Site | WordCamp Sa...
PPTX
WordPress internationalization, localization, and multilingual
PDF
10 common mistakes WordPress developers make when building multilingual sites
PDF
Multisite for multilingual
PPTX
Creating Multilingual WordPress Websites
PDF
So you want a multilingual WordPress site?
PDF
Creating a multilingual site with WPML
PDF
Hallo Welt
PPTX
WordPress Multilingual: WordCamp Antwerp 2016
wcdk - Making your WordPress Multilingual
Multilingual WordPress (WordCamp Toronto 2014)
Multilingual WordPress
WordPress Multilingual: Benefits and Considerations
Going Global - WordPress Multilingual
Make Your WordPress Site Multilingual with Polylang
WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization, Localization and Multilingual - Do It Right
Languages in WordPress
Getting WordPress to speak your langauge
Multilingual WordPress With Polylang
Taking WordPress to the World : Options for a Multilingual Site | WordCamp Sa...
WordPress internationalization, localization, and multilingual
10 common mistakes WordPress developers make when building multilingual sites
Multisite for multilingual
Creating Multilingual WordPress Websites
So you want a multilingual WordPress site?
Creating a multilingual site with WPML
Hallo Welt
WordPress Multilingual: WordCamp Antwerp 2016
Ad

Recently uploaded (20)

PDF
The Internet -By the Numbers, Sri Lanka Edition
PDF
The New Creative Director: How AI Tools for Social Media Content Creation Are...
PPTX
Module 1 - Cyber Law and Ethics 101.pptx
PDF
Cloud-Scale Log Monitoring _ Datadog.pdf
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PPT
Design_with_Watersergyerge45hrbgre4top (1).ppt
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PDF
Sims 4 Historia para lo sims 4 para jugar
PDF
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PPTX
Digital Literacy And Online Safety on internet
PPTX
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
PPTX
Job_Card_System_Styled_lorem_ipsum_.pptx
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PDF
Introduction to the IoT system, how the IoT system works
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PPTX
E -tech empowerment technologies PowerPoint
The Internet -By the Numbers, Sri Lanka Edition
The New Creative Director: How AI Tools for Social Media Content Creation Are...
Module 1 - Cyber Law and Ethics 101.pptx
Cloud-Scale Log Monitoring _ Datadog.pdf
RPKI Status Update, presented by Makito Lay at IDNOG 10
Design_with_Watersergyerge45hrbgre4top (1).ppt
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
Sims 4 Historia para lo sims 4 para jugar
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
INTERNET------BASICS-------UPDATED PPT PRESENTATION
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
Digital Literacy And Online Safety on internet
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
Job_Card_System_Styled_lorem_ipsum_.pptx
522797556-Unit-2-Temperature-measurement-1-1.pptx
Unit-1 introduction to cyber security discuss about how to secure a system
Introduction to the IoT system, how the IoT system works
introduction about ICD -10 & ICD-11 ppt.pptx
WebRTC in SignalWire - troubleshooting media negotiation
E -tech empowerment technologies PowerPoint

Multilingual content with WordPress

Editor's Notes

  • #2: We are a humane web agency from Montréal. We are not native English speakers When I started giving lectures in English, I decided to give this warning in the begining.
  • #3: When I say otter, I mean other. But we’re here to talk about WordPress and multilingual content.
  • #4: 2014 was an important year for WP. For the first time in history, the non-English downloads of WordPress surpassed the English downloads.
  • #5: As WordPress will continue democratizing publishing, download stats will hopefully look like this
  • #6: Problem is many countries and regions are multilingual. You all know that : There is many countries, such as Belgium or Canada, which are officially multilingual. But they may have many monolinguals in their population. Officially monolingual countries, on the other hand, such as France, can have sizable multilingual populations. There’s obviously a need for multilingual websites.
  • #7: And what about WordPress ? The first line of the Codex makes it clear : WordPress does not support a bilingual or multilingual blog out-of-the box. Woups. We’ll come back to that in a few minutes. But before, let’s talk about the multilingual web.
  • #8: Web accessibility refers to the inclusive practice of removing barriers that prevent access to some people or group of people. When sites are correctly designed, developed and edited, all users have equal access to information and functionality. Speaking japanese has nothing to do with being blind. It’s not a handicap. But I really think we have to see multilingualism as a matter of accessibility. And we’ll go through a few good practices and advice.
  • #9: Basically, if you don’t want to translate, don’t do it. Anybody can google translate themselves.
  • #10: A single language is spoken in many countries. A single country can have multiple languages. Your visitors are not flag-spotters. For instance with Chinese there are 2 types of Chinese Characters that different nations read: + Simplified (China) + Traditional (Taiwan, Singapore, HK) How is a flag supposed to represent those nations? Would people from Singapore somehow think they should click the Taiwan flag?
  • #11: Provide users a list of language names in their that language. So instead of “English, Spanish, German…” offer users “English, Español, Deutsch”.
  • #12: If you need to use Icons, use neutral ones. For instance, this one one a design prize last year Or use a globe ?
  • #13: This exemple is taken from the Israelian ministry of foreign affairs. The site on the left is in Persian. On the right is in English. Persian reads right to left. Eglish left to right. Navigation has switched sides. And content is adapted to the language (ex : slider).
  • #15: You should always use only one language per post or page. If you need to quote, use the lang attibute. Helpful for Google and readers for blind people.
  • #17: Describe. This is what happens when translators translate without context.
  • #19: First thing we have to do is make sure WordPress and themes and plugins are shown in the correct language for the visitor.
  • #20: When you install WordPress, you can choose which language you want. If you missed it during installation, you can choose it later on in the general settings. Once this choice has beeen made, WordPress will download what they call now “language packs”, which are basically files containing the translated strings themselves. These translations will be used for the whole WP interface.
  • #21: Some of your theme and plugins may or may not have the language packs installed or updated since the install. In the software update page, you’ll see a translation section if there are new translations available. There is not much details on which translations you can get when you click the button. It’s fairly new… But it will go grab all the languages packs that exists in the repository for everyhting you’ve got installed on your site. Very recently, language packs have been made available for all themes and plugins developers that use the official repository. For commercial plugins and themes, developers have to manage their translation their own way. You have to check with your vendor or find language packs for translation vendors themselves.
  • #22: If there’s no language pack or you want to edit the language pack, you can install the Loco Translate plugin. Which allows you to create and edit language packs. Obviously, your themes and plugins will need to be coded correctly to work with language packs. Which is not the case right now for all plugins and themes. So sometimes, it will not work. And you may suffer.
  • #30: What does translating media even mean, in the context of WordPress? Custom header: good luck! We won’t cover this.
  • #31: The joy of Custom Fields. Some needing to be translated, some not. Some needing to be synchronised, some not. Also, a lot of hidden custom fields. Used extensively by plugins and themes. Example: custom fields for a single WooCommerce product.
  • #32: More plugins = more custom fields = higher possibility of breakage.
  • #33: Now I get to show off my superior drawing skills.
  • #34: Qtranslate: the original solution. Barely maintained for very long. Many semi-maintained forks. Now fixed!
  • #36: Blue border indicates translatable fields
  • #38: Empty “Navigation Label”: recommended way to remove an item for a specific language Untranslated page: ugh.
  • #39: Note: in the backend, that’s actually what’s saved in the database for all translated fields.
  • #41: A popular approach. WPML: the “automatic” recommendation, but it’s big, slow and buggy Polylang: WPML redone right way (according to us anyway) Babble: made by Code For The People, recently acquired by Automattic. nacin @WCSF: “if we were to do multilingual in Core, that’s how we’d do it”. We think the Core people need to take a better look at Polylang. Screenshots will be from Polylang, but WPML looks very similar.
  • #48: Adding a plugin allows linking posts & terms translations together. Screenshots are from Multisite Langue Switcher.
  • #53: Of note: all of these are meant to output a list of languages. Usually, they’ll want to display the current language too. Not ideal for our usual bilingual setup where we only want to display a single link to the other language.
  • #58: This is Localizejs’ translation interface. Others exist: Bablic, Transifex Live. Localizejs = recommended multilingual solution for Squarespace.
  • #60: Let’s open the floor.