SlideShare a Scribd company logo
Multilingual
Wordpress
Nov 15-16, 2014
WordCamp Toronto
Matt Smith
msmith@lingotek.com
smithworx
How to make
a WordPress site
multilingual!
● Out of the box
● Decisions, not options
● Design for the majority
● Clean, lean, and mean
● Striving for simplicity
● Deadlines are not arbitrary
● Vocal minority
WordPress Philosophy
https://wordpress.org/about/philosophy/
● Multilingual Basics
● Multilingual Site Audit
● Multilingual Plugins
○ One language per site (multisite)
○ One language per post
○ All languages in one post
● Additional Automation
Overview
Multilingual Basics
WordPress multilingual readiness,
terminology, and translation files
● WordPress core does not support bilingual
or multilingual out-of-the-box
● Plugins developed by the community
enable multilingual functionality
Multilingual in Wordpress
source: http://codex.wordpress.org/Multilingual_WordPress
( unilingual is supported )
● Internationalization (i18n) - the process
of preparing a plugin or theme to be
multilingual ready (e.g., using __(), _n())
● Localization (L10n) - the process of
adapting internationalized software for a
specific region or language (e.g., translation,
message)
Terminology
18 characters
10 characters
.pot (portable object template)
.po (portable object)
.mo (machine object)
Translation files
Internationalization (i18n)
No translations
Translations
__()
_e()
_x()
WordPress i18n
Basic translation functions
Any text that should be
translatable must be wrapped in
an i18n function
also echos the text
allows for context
translate() alias
for theme & plugin
developers
_x() _ex() _n()
esc_html__() esc_html_e()
esc_html_x() esc_attr__()
esc_attr_e() esc_attr_x()
WordPress i18n
Additional translation functions
These are used less frequently
for theme & plugin
developers
for theme & plugin
developers
1. Thou shalt not use PHP variables of any kind
inside a translation function’s strings.
2. Thou shalt always translate phrases and not
words.
3. Thou shalt disambiguate when needed.
WordPress i18n - Otto's Laws
"You're probably doing it wrong"
source: http://ottopress.com/2012/internationalization-youre-probably-doing-it-wrong
● Translation - communication of the
meaning of a source-language text by
means of an equivalent target-language
text.
○ Machine translation (MT) - algorithmic
○ Human translation - professional
○ Crowd-sourced - ordinary people
Terminology - L10n
● Locale - combination of language and
regional identifier
● Examples
○ en_US English for the United States
○ fr_CA French for Canada
○ en_CA English for Canada
○ de_DE German for Germany
Terminology - L10n
Multilingual WordPress (WordCamp Toronto 2014)
Multilingual Audit
What is typically responsible for
the translatable content
on your website?
Multilingual Plugin
user generated content
Translation Files
theme, plugins, core
?
?
What is responsible for
the translatable content
on this page?
or
.po, .mo
Multilingual Plugin
user generated content
Translation Files
theme, plugins, core
?
?
What is responsible for
the translatable content
on this page?
or
.po, .mo
Multilingual Plugin
user generated content
Translation Files
theme, plugins, core
10
6
What is responsible for
the translatable content
on this page?
or
.po, .mo
Posts
Menus (or Post Title)
Strings
(site title,
plugin specific)
Categories
Multilingual Plugins
Which plugins extend Wordpress core
to provide multilingual capabilities?
● One language per site (multisite)
● One language per post
● All languages in one post
● Plugins that direct you to external
translation services: machine, community,
professional
Types of multilingual plugins
source: http://codex.wordpress.org/Multilingual_WordPress
German Chinese
Multisite:
one language per site
English
Stay tuned for next talk:
Multisite for Multilingual
Single site:
one language per post
German
site
post
English
Chinese
post
post
Single site:
all languages in one post
English
ChineseGerman
sitepost
German Chinese
Multisite:
one language per site
English
Stay tuned for next talk:
Multisite for Multilingual
Free
● Multisite Language Switcher
● Multilingual Press
● Zanto WP Translation
Multisite:
one language per site
Stay tuned for next talk:
Multisite for Multilingual
Multisite:
one language per site
Multilingual Press Zanto WP TranslationMultisite Language Switcher
Last updated: Oct 15, 2014
Stay tuned for next talk:
Multisite for Multilingual
Multisite Language Switcher
Stay tuned for next talk:
Multisite for Multilingual
Stay tuned for next talk:
Multisite for Multilingual
Stay tuned for next talk:
Multisite for Multilingual
Multilingual Press
Stay tuned for next talk:
Multisite for Multilingual
Zanto WP Translation
Stay tuned for next talk:
Multisite for Multilingual
Single site:
one language per post
German
site
post
English
Chinese
post
post
Free
● Polylang (+
Lingotek)
● xili-language
● Bogo
● Babble
Paid
● WPML
○ $29-$79/year, or
○ $195 one-time
Single site:
one language per post
Not in WP plugin
repository
Polylang xili-language Bogo
Single site:
one language per post - free
Last updated: Sep 24, 2014
Only uses WP core
database tables
(no extra tables)
Single site:
one language per post - paid
WPML Example
Single site:
one language per post - paid
WPML Example
Single site:
one language per post - paid
WPML Example
One post per language - paid
WPML Example
One post per language - paid
WPML Example
xili-language Example
Add content overview page in Polylang
Polylang
Polylang
Polylang ExamplePolylang
Babble
Babble
Babble
Babble
Single site:
all languages in one post
English
ChineseGerman
sitepost
Free
● qTranslate
● mqTranslate
mqTranslate adds:
- Protection of concurrent edits of different languages
- Language selection for editor accounts (allows translators
to see only their source and target languages)
Single site:
all languages in one post
All languages in one post
Last updated: Sep 24, 2014
qTranslate mqTranslate
All languages in one post
qTranslate / mqTranslate
● Less flexible
publishing
● Import/export
challenges
● Uninstallation can
be challenging
Comparison Overview
Pros
Cons
Multisite
One language
per post
All languages
in one post
● Each site has its
own posts
● Easy migration
● Flexible publishing
● More work to
manage all of the
different servers /
installations
● Translation
associations
● Non-cluttered edit
page
● Easy import/export *
● Flexible publishing
● Complex content
listing*
● Translation
associations
● Content type support*
● Side-by-side editing
● No additional tables
varies by plugin*
Additional Automation
Service Providers
● Prisna
● Transposh
● Polylang + Lingotek
● Global Translate WordPress
● mqTranslate
Machine Translation
Plugins for WordPress
● Transposh
● Polylang + Lingotek
Community Translation
Plugins for WordPress
● Polylang + Lingotek
● mqTranslate
● WPML
Professional Translation
Plugins for WordPress
Add mqTranslate screens.
qTranslate
Example
Professional
or Machine
qTranslate / mqTranslate
One post per language - paid
WPML Example
Add WPML Professional translation screenshots.
WPML Example
Polylang + Lingotek
Polylang + Lingotek
Polylang + Lingotek
Polylang + Lingotek
Polylang + Lingotek
Polylang + Lingotek
Polylang + Lingotek
Polylang + Lingotek
● Multilingual Basics
● Multilingual Site Audit
● Multilingual Plugins
○ One language per site (multisite)
○ One language per post
○ All languages in one post
● Additional Automation
Conclusion
Q & A

More Related Content

PDF
Multilingual WordPress
PDF
Using Composer to create manageable WordPress websites
PDF
How to create/improve OSS products and its community
PPT
VFP & Ajax
PDF
Internationalizing The New York Times
PDF
International sites hreflang
PDF
LFC DjangoCon EU
PPTX
Shift Remote FRONTEND: Building Web Parasite Using Chrome Extension - Ivan Vu...
Multilingual WordPress
Using Composer to create manageable WordPress websites
How to create/improve OSS products and its community
VFP & Ajax
Internationalizing The New York Times
International sites hreflang
LFC DjangoCon EU
Shift Remote FRONTEND: Building Web Parasite Using Chrome Extension - Ivan Vu...

What's hot (19)

PDF
Let's create a multilingual site in WordPress
PPT
N tier web applications
PPT
What is PHP?
PPT
Advantages of Choosing PHP Web Development
PPTX
Drupalcamp Atlanta 2010 Internationalization Presentation
PPTX
PHP Basics
PDF
How to create/improve OSS product and its community (revised)
PDF
Barcelona Multilanguage
PPT
Lollipop vs Marshmallow: What are the major differences?
PDF
WordPress Code Architecture
PPTX
Web to App:作業系統革命 Firefox OS
PPTX
PHP, LAMP Stack & WordPress
PPTX
Multi language for php with gettext
PPSX
Advanced PHP Web Development Tools in 2015
PPT
PHP LICTURES ..........
PPTX
Training ppt
PDF
Translating Drupal
PDF
DevTeach Ottawa - Silverlight5 and HTML5
Let's create a multilingual site in WordPress
N tier web applications
What is PHP?
Advantages of Choosing PHP Web Development
Drupalcamp Atlanta 2010 Internationalization Presentation
PHP Basics
How to create/improve OSS product and its community (revised)
Barcelona Multilanguage
Lollipop vs Marshmallow: What are the major differences?
WordPress Code Architecture
Web to App:作業系統革命 Firefox OS
PHP, LAMP Stack & WordPress
Multi language for php with gettext
Advanced PHP Web Development Tools in 2015
PHP LICTURES ..........
Training ppt
Translating Drupal
DevTeach Ottawa - Silverlight5 and HTML5
Ad

Similar to Multilingual WordPress (WordCamp Toronto 2014) (20)

PDF
wcdk - Making your WordPress Multilingual
PDF
Managing a Local WordPress Community, WordCamp Europe 2016
PDF
Going Global - WordPress Multilingual
PPTX
Going Global WordPress Multilingual
PDF
WordPress Multilingual: Benefits and Considerations
PDF
Multilingual Drupal presentation from "Do it With Drupal"
PPTX
WordPress Multilingual: WordCamp Antwerp 2016
PDF
WordPress News and #SaigonWordPress 2015 - Saigon WordPress - Jan 17, 2015
PDF
WordPress Internationalization, Localization and Multilingual - Do It Right
PPTX
Multilingual website in Drupal 8
PDF
Multilingual WordPress With Polylang
PDF
Plone multi language
PDF
Improving the MODX Documentation - March 29, 2019
PDF
WordPress Fresh News - Saigon WordPress - Nov 29, 2014
PPTX
Multilingual content with WordPress
PDF
Introduction to PHP (SDPHP)
PPTX
Multi lingual implementations – drupal design approaches for different scenar...
PDF
Building Multilingual Websites Using Joomla
KEY
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
PPT
Babel and Beyond - Professional Multilingual Solutions with Drupal
wcdk - Making your WordPress Multilingual
Managing a Local WordPress Community, WordCamp Europe 2016
Going Global - WordPress Multilingual
Going Global WordPress Multilingual
WordPress Multilingual: Benefits and Considerations
Multilingual Drupal presentation from "Do it With Drupal"
WordPress Multilingual: WordCamp Antwerp 2016
WordPress News and #SaigonWordPress 2015 - Saigon WordPress - Jan 17, 2015
WordPress Internationalization, Localization and Multilingual - Do It Right
Multilingual website in Drupal 8
Multilingual WordPress With Polylang
Plone multi language
Improving the MODX Documentation - March 29, 2019
WordPress Fresh News - Saigon WordPress - Nov 29, 2014
Multilingual content with WordPress
Introduction to PHP (SDPHP)
Multi lingual implementations – drupal design approaches for different scenar...
Building Multilingual Websites Using Joomla
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Babel and Beyond - Professional Multilingual Solutions with Drupal
Ad

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation theory and applications.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Approach and Philosophy of On baking technology
PDF
Getting Started with Data Integration: FME Form 101
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Spectroscopy.pptx food analysis technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Machine learning based COVID-19 study performance prediction
PDF
cuic standard and advanced reporting.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPT
Teaching material agriculture food technology
PDF
Assigned Numbers - 2025 - Bluetooth® Document
Per capita expenditure prediction using model stacking based on satellite ima...
MIND Revenue Release Quarter 2 2025 Press Release
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation theory and applications.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Approach and Philosophy of On baking technology
Getting Started with Data Integration: FME Form 101
Unlocking AI with Model Context Protocol (MCP)
Spectroscopy.pptx food analysis technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
SOPHOS-XG Firewall Administrator PPT.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
MYSQL Presentation for SQL database connectivity
Machine learning based COVID-19 study performance prediction
cuic standard and advanced reporting.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology
Assigned Numbers - 2025 - Bluetooth® Document

Multilingual WordPress (WordCamp Toronto 2014)