Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Multilingual
Wordpress
Nov 15-16, 2014
WordCamp Toronto
Matt Smith
msmith@lingotek.com
smithworx
How to make
a WordPress s...
social networks, data mining,
and machine learning
● Out of the box
● Decisions, not options
● Design for the majority
● Clean, lean, and mean
● Striving for simplicity
● De...
● Multilingual Basics
● Multilingual Site Audit
● Multilingual Plugins
○ One language per site (multisite)
○ One language ...
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 mul...
● Internationalization (i18n) - the process
of preparing a plugin or theme to be
multilingual ready (e.g., using __(), _n(...
.pot (portable object template)
.po (portable object)
.mo (machine object)
Translation files
Internationalization (i18n)
N...
__()
_e()
_x()
WordPress i18n
Basic translation functions
Any text that should be
translatable must be wrapped in
an i18n ...
_x() _ex() _n()
esc_html__() esc_html_e()
esc_html_x() esc_attr__()
esc_attr_e() esc_attr_x()
WordPress i18n
Additional tr...
for theme & plugin
developers
1. Thou shalt not use PHP variables of any kind
inside a translation function’s strings.
2. ...
● Translation - communication of the
meaning of a source-language text by
means of an equivalent target-language
text.
○ M...
● Locale - combination of language and
regional identifier
● Examples
○ en_US English for the United States
○ fr_CA French...
Translation
Editorial Editorial
Multilingual Workflow
In context review
publish content
(target locales)
content creation
...
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 translat...
Multilingual Plugin
user generated content
Translation Files
theme, plugins, core
?
?
What is responsible for
the translat...
Multilingual Plugin
user generated content
Translation Files
theme, plugins, core
10
6
What is responsible for
the transla...
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 exter...
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...
Multisite:
one language per site
Multilingual Press Zanto WP TranslationMultisite Language Switcher
Last updated: Oct 15, ...
Multisite Language Switcher
Stay tuned for next talk:
Multisite for Multilingual
Stay tuned for next talk:
Multisite for M...
Stay tuned for next talk:
Multisite for Multilingual
Multilingual Press
Stay tuned for next talk:
Multisite for Multilingu...
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:
o...
Polylang xili-language Bogo
Single site:
one language per post - free
Last updated: Sep 24, 2014
Only uses WP core
databas...
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 selec...
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
Mu...
Additional Automation
Service Providers
● Prisna
● Transposh
● Polylang + Lingotek
● Global Translate WordPress
● mqTranslate
Machine Translation
Plugins for Word...
● 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
● You can create a multilingual site in WP
● Choose the right plugin based on needs
○ One language per site (multisite)
○ ...
● Multilingual Wordpress https://codex.wordpress.
org/Multilingual_WordPress
● i18n for WordPress Developers https://codex...
Q & A
Slides:
m.smithworx.com
Connect:
@smithworx
Email:
msmith@lingotek.com
Multilingual WordPress
Multilingual WordPress
Multilingual WordPress
Multilingual WordPress
Multilingual WordPress
Multilingual WordPress
Upcoming SlideShare
Loading in …5
×

Multilingual WordPress

736 views

Published on

This session will provide a detailed overview on how to get your WordPress site multilingual ready. We will discuss the types of multilingual plugins and how they compare, auditing your site for multilingual readiness, preparing for multilingual content, considerations for plugins and themes, and finally options on how to leverage service providers for additional multilingual automation.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Multilingual WordPress

  1. 1. Multilingual Wordpress Nov 15-16, 2014 WordCamp Toronto Matt Smith msmith@lingotek.com smithworx How to make a WordPress site multilingual!
  2. 2. social networks, data mining, and machine learning
  3. 3. ● 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/
  4. 4. ● Multilingual Basics ● Multilingual Site Audit ● Multilingual Plugins ○ One language per site (multisite) ○ One language per post ○ All languages in one post ● Additional Automation Overview
  5. 5. Multilingual Basics WordPress multilingual readiness, terminology, and translation files
  6. 6. ● 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 )
  7. 7. ● 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
  8. 8. .pot (portable object template) .po (portable object) .mo (machine object) Translation files Internationalization (i18n) No translations Translations
  9. 9. __() _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
  10. 10. _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
  11. 11. 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
  12. 12. ● 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
  13. 13. ● 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
  14. 14. Translation Editorial Editorial Multilingual Workflow In context review publish content (target locales) content creation editor review (original locale) (target locales) Localization Translation Review Post-edit
  15. 15. Multilingual Audit What is typically responsible for the translatable content on your website?
  16. 16. Multilingual Plugin user generated content Translation Files theme, plugins, core ? ? What is responsible for the translatable content on this page? or .po, .mo
  17. 17. Multilingual Plugin user generated content Translation Files theme, plugins, core ? ? What is responsible for the translatable content on this page? or .po, .mo
  18. 18. 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
  19. 19. Posts Menus (or Post Title) Strings (site title, plugin specific) Categories
  20. 20. Multilingual Plugins Which plugins extend Wordpress core to provide multilingual capabilities?
  21. 21. ● 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
  22. 22. German Chinese Multisite: one language per site English Stay tuned for next talk: Multisite for Multilingual
  23. 23. Single site: one language per post German site post English Chinese post post
  24. 24. Single site: all languages in one post English ChineseGerman sitepost
  25. 25. German Chinese Multisite: one language per site English Stay tuned for next talk: Multisite for Multilingual
  26. 26. Free ● Multisite Language Switcher ● Multilingual Press ● Zanto WP Translation Multisite: one language per site Stay tuned for next talk: Multisite for Multilingual
  27. 27. 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
  28. 28. Multisite Language Switcher Stay tuned for next talk: Multisite for Multilingual Stay tuned for next talk: Multisite for Multilingual
  29. 29. Stay tuned for next talk: Multisite for Multilingual Multilingual Press Stay tuned for next talk: Multisite for Multilingual
  30. 30. Zanto WP Translation Stay tuned for next talk: Multisite for Multilingual
  31. 31. Single site: one language per post German site post English Chinese post post
  32. 32. 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
  33. 33. 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)
  34. 34. Single site: one language per post - paid WPML Example
  35. 35. Single site: one language per post - paid WPML Example
  36. 36. Single site: one language per post - paid WPML Example
  37. 37. One post per language - paid WPML Example
  38. 38. One post per language - paid WPML Example
  39. 39. xili-language Example
  40. 40. Add content overview page in Polylang Polylang
  41. 41. Polylang
  42. 42. Polylang ExamplePolylang
  43. 43. Babble
  44. 44. Babble
  45. 45. Babble
  46. 46. Babble
  47. 47. Single site: all languages in one post English ChineseGerman sitepost
  48. 48. 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
  49. 49. All languages in one post Last updated: Sep 24, 2014 qTranslate mqTranslate
  50. 50. All languages in one post qTranslate / mqTranslate
  51. 51. ● 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*
  52. 52. Additional Automation Service Providers
  53. 53. ● Prisna ● Transposh ● Polylang + Lingotek ● Global Translate WordPress ● mqTranslate Machine Translation Plugins for WordPress
  54. 54. ● Transposh ● Polylang + Lingotek Community Translation Plugins for WordPress
  55. 55. ● Polylang + Lingotek ● mqTranslate ● WPML Professional Translation Plugins for WordPress
  56. 56. Add mqTranslate screens. qTranslate Example Professional or Machine qTranslate / mqTranslate
  57. 57. One post per language - paid WPML Example
  58. 58. Add WPML Professional translation screenshots. WPML Example
  59. 59. Polylang + Lingotek
  60. 60. Polylang + Lingotek
  61. 61. Polylang + Lingotek
  62. 62. Polylang + Lingotek
  63. 63. Polylang + Lingotek
  64. 64. Polylang + Lingotek
  65. 65. Polylang + Lingotek
  66. 66. Polylang + Lingotek
  67. 67. ● 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
  68. 68. ● Multilingual Wordpress https://codex.wordpress. org/Multilingual_WordPress ● i18n for WordPress Developers https://codex.wordpress. org/I18n_for_WordPress_Developers ● Plugin and Theme Development (i18n) http://make.wordpress. org/docs/theme-developer-handbook/theme- functionality/internationalization/ ● Translating Your Theme http://code.tutsplus.com/tutorials/translating- your-theme--wp-25014 References & Tutorials
  69. 69. Q & A
  70. 70. Slides: m.smithworx.com Connect: @smithworx Email: msmith@lingotek.com

×