63
Creating Multilingual WordPress Sites WP Campus Shawn Hooper Chief Technology Officer Actionable Books @shawnhooper - shawnhooper.ca

Creating Multilingual WordPress Websites

Embed Size (px)

Citation preview

Page 1: Creating Multilingual WordPress Websites

Creating Multilingual

WordPress SitesWP Campus

Shawn HooperChief Technology Officer

Actionable Books

@shawnhooper - shawnhooper.ca

Page 2: Creating Multilingual WordPress Websites

Chief Technology Officer at Actionable BooksHappy 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

Page 3: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Let’s Learn Some Words…

Internationalization, Localization, Languages,

Locales,

Oh My!

Page 4: Creating Multilingual WordPress Websites

@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, FrenchSpanish, Italian

Language

Page 5: Creating Multilingual WordPress Websites

@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

Page 6: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Canadian Englishen-CA

US Englishen-US

Canadian French fr-CA

Argentina Spanish es-AR

Spanish Columbia es-CO

Locale

Page 7: Creating Multilingual WordPress Websites

@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

Page 8: Creating Multilingual WordPress Websites

@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

Page 9: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Localization isn’t just about words, think about:CURRENCY

English$1,234.56

French1 234,56 $

Localization

Page 10: Creating Multilingual WordPress Websites

@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

Page 11: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Localization isn’t just about words, think about:TIME

English (Canada)4:30 pm

French (Canada)16h30

Localization

Page 12: Creating Multilingual WordPress Websites

@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

Page 13: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 14: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 15: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Localization isn’t just about words, think about:TEXT LENGTH

Localization

Page 16: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 17: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

WordPress Core is translated in 162

locales. 52 translations are

100% complete, up-to-date with the most current version of

WordPress.Translations are done by volunteers on the

“Polyglots” team.

WordPress

Page 18: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 19: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Although WordPress comes in many languages, it does not natively support providing

viewers with content in more than one language.

Page 20: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Multilingual Plugins

Page 21: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

WPMLPremium Plugin from OnTheGoSystems.

https://wpml.org/Supports:

PostsPages

Custom Post TypesTaxonomies

MenusTheme TextPlugin Text

Page 22: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 23: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 24: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 25: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 26: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 27: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 28: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Tip:Turn off the Make Themes Work Multilingual option if you

don’t need it!

Page 29: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

qTranslate XFree Plugin Available on WordPress.org

https://wpml.org/Supports:

PostsPages

Custom Post TypesTaxonomies

MenusGeneral Settings

Widgets

Page 30: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 31: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 32: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

If you disable the plugin, you’ll seethe content for each language is wrapped in shortcodes.

Shortcode Warning

Page 33: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 34: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 35: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 36: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 37: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Babblehttps://github.com/Automattic/babble

Babble

Page 38: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Doesn’t create any additional database tablesLike WPML, each translation is a separate post

Supports:PostsPages

Custom Post TypesTaxonomies

MenusWidgets

Babble

Page 39: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 40: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Multisite Approach

Page 41: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

There are two ways of doing this:

Separate Installs of WordPress for each language (yuck!)

Using WordPress Multisite with a sub-site for each language (yay!)

Multisite Approach

Page 42: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

FREN ES

Page 43: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

There are a few plugins that can assist with switching languages

if you choose to use the multisite approach:

Multisite Language SwitcherZanto WP Translation (For Multisites)

Language Switching

Page 44: Creating Multilingual WordPress Websites

@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

Page 45: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Theme & Plugin Translation

Page 46: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

.POT, .PO and .MO FilesContain 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

Page 47: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

.POT, .PO and .MO FilesMany popular themes & plugins

come with translations already provided.

If not, you can manage your own translationsthrough plugins or 3rd party applications.

Page 48: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Loco TranslateTranslation Mangement Plugin

for Themes & Plugins

Free in the WordPress Plugin Repository

Page 49: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 50: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

PO EditDesktop Application for Managing POT and PO Files

Freemium

Available for Windows, OSX and Linux(poedit.net)

Page 51: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

PO Edit (Statistics)

Page 52: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

PO EditPro Version ($20) will scan your source code and find

missing translations

Provided Statistics includingWord Count.

Page 53: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 54: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

GlotPressDeveloped by the WordPress Community.

Still a work in progress.

Learn More at http://blog.glotpress.org/

Page 55: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Content Translation

Page 56: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Please please please….

Page 57: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Translation ServicesHire a Professional Translator

They usually charge by the word

Page 58: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Translation ServicesBuilt in Translation Services in WordPress:

ICanLocalize (Works with WPML)LingoTek (Works with Polylang)

Page 59: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Contribute

Page 60: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Polyglots TeamThe 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/

Page 61: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

translate.wordpress.orgPowered by GlotPress

Contribute translations to: WordPress Core

ThemesPlugins

Meta Projects

Page 62: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Page 63: Creating Multilingual WordPress Websites

Thank you! Merci! Gracias!

Slides: www.shawnhooper.ca

E-Mail: [email protected]

Twitter: @shawnhooper

WordPress Slack: shooper@shawnhooper - shawnhooper.ca