76
Multilingual Wordpress Nov 15-16, 2014 WordCamp Toronto Matt Smith [email protected] smithworx How to make a WordPress site multilingual!

Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Multilingual Wordpress

Nov 15-16, 2014WordCamp Toronto

Matt [email protected]

smithworx

How to make

a WordPress site

multilingual!

Page 2: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on
Page 3: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on
Page 4: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

social networks, data mining, and machine learning

Page 5: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on
Page 6: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on
Page 7: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

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

Page 8: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

● Multilingual Basics● Multilingual Site Audit● Multilingual Plugins

○ One language per site (multisite)○ One language per post○ All languages in one post

● Additional Automation

Overview

Page 9: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Multilingual Basics

WordPress multilingual readiness, terminology, and translation files

Page 10: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

● 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 )

Page 11: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

● 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)

Terminology18 characters

10 characters

Page 12: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

.pot (portable object template)

.po (portable object)

.mo (machine object)

Translation files

Internationalization (i18n)

No translations

Translations

Page 13: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

__()_e()_x()

WordPress i18nBasic 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

Page 14: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

_x() _ex() _n()esc_html__() esc_html_e() esc_html_x() esc_attr__() esc_attr_e() esc_attr_x()

WordPress i18nAdditional translation functions

These are used less frequently

for theme & plugin developers

Page 15: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

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

Page 16: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

● 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

Page 17: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

● 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

Page 18: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Translation

Editorial Editorial

Multilingual Workflow

In context reviewpublish content(target locales)

content creationeditor review(original locale)

(target locales)Localization

Translation ReviewPost-edit

Page 19: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on
Page 20: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Multilingual Audit

What is typically responsible forthe translatable content

on your website?

Page 21: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Multilingual Plugin user generated content

Translation Filestheme, plugins, core

?

?

What is responsible forthe translatable content

on this page?

or

.po, .mo

Page 22: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Multilingual Plugin user generated content

Translation Filestheme, plugins, core

?

?

What is responsible forthe translatable content

on this page?

or

.po, .mo

Page 23: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Multilingual Plugin user generated content

Translation Filestheme, plugins, core

10

6

What is responsible forthe translatable content

on this page?

or

.po, .mo

Page 24: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Posts

Menus (or Post Title)

Strings(site title,

plugin specific)

Categories

Page 25: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Multilingual Plugins

Which plugins extend Wordpress core to provide multilingual capabilities?

Page 26: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

● 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

Page 27: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

German Chinese

Multisite:one language per site

English

Stay tuned for next talk:Multisite for Multilingual

Page 28: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Single site:one language per post

German

site

post

English

Chinese

post

post

Page 29: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Single site:all languages in one post

English

ChineseGerman

sitepost

Page 30: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

German Chinese

Multisite:one language per site

English

Stay tuned for next talk:Multisite for Multilingual

Page 31: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Free

● Multisite Language Switcher● Multilingual Press● Zanto WP Translation

Multisite:one language per site

Stay tuned for next talk:Multisite for Multilingual

Page 32: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

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

Page 33: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Multisite Language Switcher

Stay tuned for next talk:Multisite for MultilingualStay tuned for next talk:Multisite for Multilingual

Page 34: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Stay tuned for next talk:Multisite for Multilingual

Multilingual Press

Stay tuned for next talk:Multisite for Multilingual

Page 35: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Zanto WP Translation

Stay tuned for next talk:Multisite for Multilingual

Page 36: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Single site:one language per post

German

site

post

English

Chinese

post

post

Page 37: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

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

Page 38: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Polylang xili-language Bogo

Single site:one language per post - free

Last updated: Sep 24, 2014

Only uses WP coredatabase tables(no extra tables)

Page 39: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Single site:one language per post - paid

WPML Example

Page 40: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Single site:one language per post - paid

WPML Example

Page 41: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Single site:one language per post - paid

WPML Example

Page 42: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

One post per language - paid

WPML Example

Page 43: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

One post per language - paid

WPML Example

Page 44: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

xili-language Example

Page 45: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Add content overview page in Polylang

Polylang

Page 46: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Polylang

Page 47: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Polylang ExamplePolylang

Page 48: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Babble

Page 49: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Babble

Page 50: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Babble

Page 51: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Babble

Page 52: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Single site:all languages in one post

English

ChineseGerman

sitepost

Page 53: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

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

Page 54: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

All languages in one post

Last updated: Sep 24, 2014

qTranslate mqTranslate

Page 55: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

All languages in one post

qTranslate / mqTranslate

Page 56: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

● Less flexible publishing

● Import/export challenges

● Uninstallation can be challenging

Comparison Overview

Pros

Cons

MultisiteOne language

per postAll languagesin 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*

Page 57: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Additional AutomationService Providers

Page 58: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

● Prisna● Transposh● Polylang + Lingotek● Global Translate WordPress● mqTranslate

Machine TranslationPlugins for WordPress

Page 59: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

● Transposh● Polylang + Lingotek

Community TranslationPlugins for WordPress

Page 60: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

● Polylang + Lingotek● mqTranslate● WPML

Professional TranslationPlugins for WordPress

Page 61: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Add mqTranslate screens.

qTranslateExample

Professionalor Machine

qTranslate / mqTranslate

Page 62: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

One post per language - paid

WPML Example

Page 63: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Add WPML Professional translation screenshots.

WPML Example

Page 64: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Polylang + Lingotek

Page 65: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Polylang + Lingotek

Page 66: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Polylang + Lingotek

Page 67: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Polylang + Lingotek

Page 68: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Polylang + Lingotek

Page 69: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Polylang + Lingotek

Page 70: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Polylang + Lingotek

Page 71: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Polylang + Lingotek

Page 72: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

● You can create a multilingual site in WP● Choose the right plugin based on needs

○ One language per site (multisite)○ One language per post○ All languages in one post

● For large sites, consider how your multilingual workflow

Conclusion

Page 74: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on

Q & A

Page 76: Multilingual Wordpress - Matt Smith€¦ · Multilingual Plugin user generated content Translation Files theme, plugins, core?? What is responsible for the translatable content on