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.

Creating Multilingual WordPress Websites

Presentation from Wordcamp Miami 2016 talking about the considerations and options for providing your WordPress website in multiple languages.

  • Login to see the comments

  • Be the first to like this

Creating Multilingual WordPress Websites

  1. 1. Creating Multilingual WordPress Sites WordCamp Miami 2016 Shawn Hooper
 Chief Technology Officer
 Actionable Books @shawnhooper -
  2. 2. 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 -
  3. 3. @shawnhooper - Let’s Learn Some Words… 
 Internationalization, Localization, Languages, Locales, Oh My!
  4. 4. @shawnhooper - “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
  5. 5. @shawnhooper - “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
  6. 6. @shawnhooper - Canadian English
 en-CA US English
 en-US Canadian French 
 fr-CA Argentina Spanish 
 es-AR Spanish Columbia 
 es-CO Locale
  7. 7. @shawnhooper - “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.…” - Internationalization
  8. 8. @shawnhooper - “Localization (also referred to as "L10n") is the process of adapting a product or content to a specific locale or market.” - GALA Global Localization
  9. 9. @shawnhooper - Localization isn’t just about words, think about: CURRENCY
 English $1,234.56
 French 1 234,56 $ Localization
  10. 10. @shawnhooper - 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
  11. 11. @shawnhooper - Localization isn’t just about words, think about: TIME
 English (Canada) 4:30 pm French (Canada) 16h30 Localization
  12. 12. @shawnhooper - 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
  13. 13. @shawnhooper -
  14. 14. @shawnhooper -
  15. 15. @shawnhooper - Localization isn’t just about words, think about: TEXT LENGTH Localization
  16. 16. @shawnhooper -
  17. 17. @shawnhooper - 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
  18. 18. @shawnhooper -
  19. 19. @shawnhooper - Although WordPress comes in many languages, it does not natively support providing viewers with content in more than one language.
  20. 20. @shawnhooper - Multilingual Plugins
  21. 21. @shawnhooper - WPML Premium Plugin from OnTheGoSystems. Supports: Posts
 Custom Post Types
 Theme Text
 Plugin Text
  22. 22. @shawnhooper -
  23. 23. @shawnhooper -
  24. 24. @shawnhooper -
  25. 25. @shawnhooper -
  26. 26. @shawnhooper -
  27. 27. @shawnhooper -
  28. 28. @shawnhooper - Tip: Turn off the Make Themes Work Multilingual option if you don’t need it!
  29. 29. @shawnhooper - qTranslate X Free Plugin Available on Supports: Posts
 Custom Post Types
 General Settings
  30. 30. @shawnhooper -
  31. 31. @shawnhooper -
  32. 32. @shawnhooper - If you disable the plugin, you’ll see
 the content for each language is wrapped in shortcodes. Shortcode Warning
  33. 33. @shawnhooper -
  34. 34. @shawnhooper -
  35. 35. @shawnhooper -
  36. 36. @shawnhooper -
  37. 37. @shawnhooper - Babble Babble
  38. 38. @shawnhooper - Doesn’t create any additional database tables Like WPML, each translation is a separate post Supports: Posts
 Custom Post Types
 Widgets Babble
  39. 39. @shawnhooper -
  40. 40. @shawnhooper - Multisite Approach
  41. 41. @shawnhooper - 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
  42. 42. @shawnhooper - FREN ES
  43. 43. @shawnhooper - 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
  44. 44. @shawnhooper - Comparison Feature 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
  45. 45. @shawnhooper - Theme & Plugin Translation
  46. 46. @shawnhooper - .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
  47. 47. @shawnhooper - .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.
  48. 48. @shawnhooper - Loco Translate Translation Mangement Plugin for Themes & Plugins Free in the WordPress Plugin Repository
  49. 49. @shawnhooper -
  50. 50. @shawnhooper - PO Edit Desktop Application for Managing POT and PO Files Freemium Available for Windows, OSX and Linux
  51. 51. @shawnhooper - PO Edit (Statistics)
  52. 52. @shawnhooper - PO Edit Pro Version ($20) will scan your source code and find missing translations Provided Statistics including Word Count.
  53. 53. @shawnhooper -
  54. 54. @shawnhooper - GlotPress Developed by the WordPress Community. Still a work in progress. Learn More at
  55. 55. @shawnhooper - Content Translation
  56. 56. @shawnhooper - Please please please….
  57. 57. @shawnhooper - Translation Services Hire a Professional Translator
 They usually charge by the word
  58. 58. @shawnhooper - Translation Services Built in Translation Services in WordPress: ICanLocalize (Works with WPML) LingoTek (Works with Polylang)
  59. 59. @shawnhooper - Contribute
  60. 60. @shawnhooper - 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.
  61. 61. @shawnhooper - Powered by GlotPress Contribute translations to: WordPress Core
 Meta Projects
  62. 62. @shawnhooper -
  63. 63. Thank you! Merci! Gracias!
 Twitter: @shawnhooper
 WordPress Slack: shooper @shawnhooper -