Creating Multilingual WordPress Websites

63

Click here to load reader

Transcript of Creating Multilingual WordPress Websites

Page 1: Creating Multilingual WordPress Websites

Creating Multilingual WordPress Sites

WordCamp Miami 2016

Shawn Hooper Chief Technology Officer

Actionable Books

@shawnhooper - shawnhooper.ca

Page 2: Creating Multilingual WordPress Websites

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

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, French Spanish, 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 English en-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

French

1 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 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

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 Text Plugin 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 see the 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

Babble

https://github.com/Automattic/babble

Babble

Page 38: Creating Multilingual WordPress Websites

@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

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 subsite 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 Switcher

Zanto 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 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

Page 47: Creating Multilingual WordPress Websites

@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.

Page 48: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Loco Translate

Translation 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 Edit

Desktop 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 Edit

Pro Version ($20) will scan your source code and find missing translations

Provided Statistics including

Word 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 Services

Hire a Professional Translator

They usually charge by the word

Page 58: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

Translation Services

Built 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 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/

Page 61: Creating Multilingual WordPress Websites

@shawnhooper - shawnhooper.ca

translate.wordpress.org

Powered 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