Creating Multilingual WordPress Websites
Click here to load reader
-
Upload
shawn-hooper -
Category
Internet
-
view
727 -
download
0
Transcript of Creating Multilingual WordPress Websites
Creating Multilingual WordPress Sites
WordCamp Miami 2016
Shawn Hooper Chief Technology Officer
Actionable Books
@shawnhooper - shawnhooper.ca
Chief Technology Officer at Actionable Books
Happy to be visiting here from Ottawa, Canada.
Have used WordPress since 2009 as a blogger, freelance developer, and in a corporate environment.
I speak in English, French, and according to my friends & family, I also speak nerd.
Hi, I’m Shawn!
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
Let’s Learn Some Words…
Internationalization,
Localization,
Languages,
Locales,
Oh My!
@shawnhooper - shawnhooper.ca
“The method of human communication, either spoken or written, consisting of the use
of words in a structured and conventional way”
- Oxford Dictionary
Examples:
English, French Spanish, Italian
Language
@shawnhooper - shawnhooper.ca
“In computing, a locale is a set of parameters that defines the user's language, region and any
special variant preferences that the user wants to see in their user interface. Usually a locale identifier consists of at least a language identifier and
a region identifier.”
- Wikipedia
Locale
@shawnhooper - shawnhooper.ca
Canadian English en-CA
US Englishen-US
Canadian French fr-CA
Argentina Spanish es-AR
Spanish Columbia es-CO
Locale
@shawnhooper - shawnhooper.ca
“Internationalization (sometimes shortened to “I18N , meaning "I - eighteen letters -N") is the process of planning and implementing products
and services so that they can easily be adapted to specific
local languages and culture.…”
- techtarget.com
Internationalization
@shawnhooper - shawnhooper.ca
“Localization (also referred to as "L10n") is the process of
adapting a product or content to a specific locale or market.”
- GALA Global
Localization
@shawnhooper - shawnhooper.ca
Localization isn’t just about words, think about:
CURRENCY
English
$1,234.56
French
1 234,56 $
Localization
@shawnhooper - shawnhooper.ca
Localization isn’t just about words, think about:
DATES
English (US)
MM/DD/YYY (ex: 03/20/2016)
English (Canada)
DD/MM/YYYY (ex: 20/03/2016)
Localization
@shawnhooper - shawnhooper.ca
Localization isn’t just about words, think about:
TIME
English (Canada)
4:30 pm
French (Canada)
16h30
Localization
@shawnhooper - shawnhooper.ca
Localization isn’t just about words, think about:
Script Direction
Localization
Left to Right Right to Left
English Arabic
Spanish Persian
French Hebrew
Greek Yiddish
Latin Western Punjabi
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
Localization isn’t just about words, think about:
TEXT LENGTH
Localization
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
WordPress Core is translated in 160 locales.
60 translations are 100% complete, up-to-date with the most current version
of WordPress.
Translations are done by volunteers on the “Polyglots” team.
WordPress
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
Although WordPress comes in many languages, it does not natively support providing viewers with
content in more than one language.
@shawnhooper - shawnhooper.ca
WPMLPremium Plugin from OnTheGoSystems.
https://wpml.org/
Supports:
PostsPages
Custom Post TypesTaxonomies
MenusTheme Text Plugin Text
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
Tip:Turn off the Make Themes Work Multilingual option if you don’t need it!
@shawnhooper - shawnhooper.ca
qTranslate XFree Plugin Available on WordPress.org
https://wpml.org/
Supports:
PostsPages
Custom Post TypesTaxonomies
MenusGeneral Settings
Widgets
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
If you disable the plugin, you’ll see the content for each language is wrapped in shortcodes.
Shortcode Warning
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
Babble
https://github.com/Automattic/babble
Babble
@shawnhooper - shawnhooper.ca
Doesn’t create any additional database tables
Like WPML, each translation is a separate post
Supports:
PostsPages
Custom Post TypesTaxonomies
MenusWidgets
Babble
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
There are two ways of doing this:
Separate Installs of WordPress for each language (yuck!)
Using WordPress Multisite with a subsite for each language (yay!)
Multisite Approach
@shawnhooper - shawnhooper.ca
There are a few plugins that can assist with switching languages
if you choose to use the multisite approach:
Multisite Language Switcher
Zanto WP Translation (For Multisites)
Language Switching
@shawnhooper - shawnhooper.ca
ComparisonFeature WPML qTranslateX Multisite Babble
Cost Paid Free Free Free
Content Storage Separate Posts Single Post Languages in Subsites Separate Posts
Widget Areas Needs Additional Plugins
Yes Yes No
Media With Additional Plugin No Each subsite has it’s own media library
No
Permalink Translation Yes With “Qtranslate Slug” Plugin
Yes Yes
Sync Custom Fields Yes Yes No Yes
Sync Taxonomies Yes Yes No No
Translate Strings in Themes & Plugins
WPML String Translation Plugin
Additional Plugins Required
Additional Plugins Required
Additional Plugins Required
Database Impact High Low Low Low
Translation Service Support ICanLocalize No No No
@shawnhooper - shawnhooper.ca
.POT, .PO and .MO Files
Contain all the strings in your plugins and
themes for a specific language.
.POT = Template ( Original Strings )
.PO = Localized Version of the Strings
.MO = Compiled Version of the Localized Files
@shawnhooper - shawnhooper.ca
.POT, .PO and .MO Files
Many popular themes & plugins
come with translations already provided.
If not, you can manage your own translations
through plugins or 3rd party applications.
@shawnhooper - shawnhooper.ca
Loco Translate
Translation Mangement Plugin
for Themes & Plugins
Free in the WordPress Plugin Repository
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
PO Edit
Desktop Application for Managing POT and PO Files
Freemium
Available for Windows, OSX and Linux (poedit.net)
@shawnhooper - shawnhooper.ca
PO Edit
Pro Version ($20) will scan your source code and find missing translations
Provided Statistics including
Word Count.
@shawnhooper - shawnhooper.ca
@shawnhooper - shawnhooper.ca
GlotPressDeveloped by the WordPress Community.
Still a work in progress.
Learn More at http://blog.glotpress.org/
@shawnhooper - shawnhooper.ca
Translation Services
Hire a Professional Translator
They usually charge by the word
@shawnhooper - shawnhooper.ca
Translation Services
Built in Translation Services in WordPress:
ICanLocalize (Works with WPML)
LingoTek (Works with Polylang)
@shawnhooper - shawnhooper.ca
Polyglots Team
The polyglots team is responsible for ensuring WordPress is available in dozens of languages and many more regions. It’s a
big job, which is why we need help from native speakers of many languages to make it possible.
https://make.wordpress.org/polyglots/
@shawnhooper - shawnhooper.ca
translate.wordpress.org
Powered by GlotPress
Contribute translations to:
WordPress Core ThemesPlugins
Meta Projects
@shawnhooper - shawnhooper.ca
Thank you! Merci! Gracias!
Slides: www.shawnhooper.ca
E-Mail: [email protected]
Twitter: @shawnhooper
WordPress Slack: shooper
@shawnhooper - shawnhooper.ca