SlideShare a Scribd company logo
1 of 38
Download to read offline
MULTILINGUAL
WORDPRESS WITH
POLYLANG
Teemu Suoranta
16.3.2016
Turku WordPress Meetup
Let’s talk about translations
• What kind of things need to be translated?
• What options do you have?
• How to setup Polylang?
• How to manage translations?
• Missing features and problems
So you are going to build a
multilingual site…
• Complete vs partially translated sites
• Human vs machine translated sites
• Integrated vs independent sites
What needs to be
translated?
• Main content: Pages, posts, categories…
• Plugins
• Widgets: Labels, content and visibility
• Navigations
• Text strings in theme (“Next »”, “Page not found”)
• Admin UI (for translators)
Multiple languages will
make everything more
complicated
THE TRUTH
Translations from 

visitor’s perspective
• UI to change language (flags, list…)
• Content is separated by language
• Show content only in selected language
• Translations are linked: change a language,
go to the translated page
• Automatically detect visitor’s language and
redirect to that language
Building multilingual
sites with WordPress
Choosing your tools
• WordPress doesn’t really have a built-in solution
to have multiple languages at the same time
• There is a built-in way to translate WordPress,
plugins and theme (.po & .mo)
• There’s no built-in UI to create and 

modify .po files
• Doing translations by multi-site or without any
plugin will make you miserable
Plugins to the rescue
• Machine translations
• Google Language Translator (≈90k)
• Bing Translator (≈2k)
• Human translations
• Polylang (≈100k)
• WPML (≈400k)
• qTranslate X (≈80k)
Introduction to
Polylang
Polylang
• Simple, open-source and free multilingual plugin
• Quick setup and easy to use
• Lightweight
• Translated content is saved as separate entries
that are linked by (hidden) language taxonomy
• Translated posts are edited in their own editors
Things you need to
translate
• Main content: linked translations and
independent content
• Plugins: uses .po files
• Widgets: Set visibility, translate labels, uses .po
files automatically
• Navigations: translate navigation menus (no sync)
Things you need to
translate
• Text strings in theme: Translate in Polylang UI
when strings are registered properly and/or
use .po files
• Admin UI: Users can select their preferred
language (from site’s languages)
• Media: Translatable or language independent
• Slugs: You’ll need this add-on from GitHub
Tools for developers
• Example functionality
• Register, translate and retrieve strings
• Get language switcher
• Make translations or link translations in code
• Retrieve posts in language or translated versions
• Full documentation
Setup Polylang
Install and activate the plugin
Go to Setting > Languages and 

setup your main language
Language added, set content to default language
Go to settings tab
URL settings
foobargrill.dev/menu

foobargrill.dev/fi/menu

fi.foobargrill.dev/menu

foobargrill.fi/menu
Synchronization settings

(copying is not synchronizing!)
(Also decide which custom post types and 

taxonomies you want to be translatable)
Add more languages (or do it later)
Add language switcher
(widget, function or navigation links…)
Tips for setup
• Don’t make media translatable (unless you really have to)
• Avoid synchronizing if copying is enough
• Browser language detection might be bad idea if the
main language isn’t English
• If you have used WPML you can import your multilingual
content with WPML to Polylang plugin
• If you import data you can map content to right
languages with WP All Import
How to manage
multilingual content
Filter content in admin with admin bar
language dropdown
Navigate to translations with icons:



plus icon - create new translation

pen icon - edit existing translation

checked icon - original language
New meta box in editor screen
String translations
Lingotek?
• A mysterious tab in Polylang settings
• Premium translation service that can be
integrated to Polylang (with a Lingotek plugin)
• Machine or human translation services can be
bought and delivered through it
Tips for management
• Check out Getting Started from Polylang documentation
• It’s easiest to create translation when original post is
complete (all the final meta data is copied)
• Register strings to be translated in Polylang: easy to use
and add new languages
• There’s no perfect system to keep track of changes in
all languages: you need to create habits and do checks
• Test before updating in production (d'oh)
Challenges with
Polylang
Missing features
• Cant’t translate options pages (including ACF
options pages)
• No built-in slug translation
• Unintuitive media translation (there’s a plugin
though that syncs attachments)
• Doesn’t copy editor content to translation
Problems
• UI will get messy if you have many languages
(roughly 10 or more)
• Not as thorough support for WooCommerce as WPML
• You can build working store with Hyyan
WooCommerce Polylang Integration
• Maybe not for super duper complex multilingual stuff
• You might need to consider WPML (or Drupal?)
Summary
Polylang
• Lightweight, free and open-sourced
• You can setup it without any technical knowledge
and works with most of themes out of the box
• Complete multilingual solution: translate content,
use admin in selected language, use .po files when
available
• Might be clunky when there is loads of languages
or the translation logic is really complex
But wait there’s more
• My co-organizer Janne Ala-Äijälä will tell more
advanced stuff on WordCamp Finland 2016
• Subject: Leveling up your Multilingual

WordPress Site
• More about workflow, weird characters, RTL
support, translation performance…
Thank you!
• I’m Teemu Suoranta, web developer from Aucor
and organizer of Turku WordPress Meetup
• You can follow me on Twitter @TeemuSuoranta
• I like to hear your horror stories from WPML

More Related Content

Similar to Multilingual WordPress With Polylang

Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Suzanne Dergacheva
 
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10Suzanne Dergacheva
 
What you can do by Joomla components
What you can do by Joomla componentsWhat you can do by Joomla components
What you can do by Joomla componentsRifat Wahid ALIF
 
Improving the MODX Documentation - March 29, 2019
Improving the MODX Documentation - March 29, 2019Improving the MODX Documentation - March 29, 2019
Improving the MODX Documentation - March 29, 2019Mark Hamstra
 
Rapid development of help files and user documentation in Dr.Explain 5
Rapid development of help files and user documentation in Dr.Explain 5Rapid development of help files and user documentation in Dr.Explain 5
Rapid development of help files and user documentation in Dr.Explain 5Dennis Zhuravlev (a.k.a. Crane)
 
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...Suzanne Dergacheva
 
Multilingual WordPress
Multilingual WordPressMultilingual WordPress
Multilingual WordPressMatt Smith
 
GlotPress aka translate.wordpress.org
GlotPress aka translate.wordpress.orgGlotPress aka translate.wordpress.org
GlotPress aka translate.wordpress.orgMarko Heijnen
 
Building Multilingual Websites Using Joomla
Building Multilingual Websites Using JoomlaBuilding Multilingual Websites Using Joomla
Building Multilingual Websites Using JoomlaPomond
 
Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"Gábor Hojtsy
 
Multilingual WordPress (WordCamp Toronto 2014)
Multilingual WordPress (WordCamp Toronto 2014)Multilingual WordPress (WordCamp Toronto 2014)
Multilingual WordPress (WordCamp Toronto 2014)Matt Smith
 
Multilingual content with WordPress
Multilingual content with WordPressMultilingual content with WordPress
Multilingual content with WordPressDesaulniers-Simard
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualSuzanne Dergacheva
 
How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)SATOSHI TAGOMORI
 
Joomla 1.6 multilingual - 2Value meeting
Joomla 1.6 multilingual - 2Value meetingJoomla 1.6 multilingual - 2Value meeting
Joomla 1.6 multilingual - 2Value meetingSander Potjer
 
The development and future of GlotPress
The development and future of GlotPressThe development and future of GlotPress
The development and future of GlotPressMarko Heijnen
 
Drupalcamp Atlanta 2010 Internationalization Presentation
Drupalcamp Atlanta 2010 Internationalization PresentationDrupalcamp Atlanta 2010 Internationalization Presentation
Drupalcamp Atlanta 2010 Internationalization PresentationMediacurrent
 
WordPress & Other Content Management Systems
WordPress & Other Content Management SystemsWordPress & Other Content Management Systems
WordPress & Other Content Management SystemsEmily Lewis
 
Drupal Translation
Drupal TranslationDrupal Translation
Drupal TranslationPeter Arato
 

Similar to Multilingual WordPress With Polylang (20)

Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7
 
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
 
Going Global WordPress Multilingual
Going Global WordPress MultilingualGoing Global WordPress Multilingual
Going Global WordPress Multilingual
 
What you can do by Joomla components
What you can do by Joomla componentsWhat you can do by Joomla components
What you can do by Joomla components
 
Improving the MODX Documentation - March 29, 2019
Improving the MODX Documentation - March 29, 2019Improving the MODX Documentation - March 29, 2019
Improving the MODX Documentation - March 29, 2019
 
Rapid development of help files and user documentation in Dr.Explain 5
Rapid development of help files and user documentation in Dr.Explain 5Rapid development of help files and user documentation in Dr.Explain 5
Rapid development of help files and user documentation in Dr.Explain 5
 
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
 
Multilingual WordPress
Multilingual WordPressMultilingual WordPress
Multilingual WordPress
 
GlotPress aka translate.wordpress.org
GlotPress aka translate.wordpress.orgGlotPress aka translate.wordpress.org
GlotPress aka translate.wordpress.org
 
Building Multilingual Websites Using Joomla
Building Multilingual Websites Using JoomlaBuilding Multilingual Websites Using Joomla
Building Multilingual Websites Using Joomla
 
Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"
 
Multilingual WordPress (WordCamp Toronto 2014)
Multilingual WordPress (WordCamp Toronto 2014)Multilingual WordPress (WordCamp Toronto 2014)
Multilingual WordPress (WordCamp Toronto 2014)
 
Multilingual content with WordPress
Multilingual content with WordPressMultilingual content with WordPress
Multilingual content with WordPress
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 Multilingual
 
How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)
 
Joomla 1.6 multilingual - 2Value meeting
Joomla 1.6 multilingual - 2Value meetingJoomla 1.6 multilingual - 2Value meeting
Joomla 1.6 multilingual - 2Value meeting
 
The development and future of GlotPress
The development and future of GlotPressThe development and future of GlotPress
The development and future of GlotPress
 
Drupalcamp Atlanta 2010 Internationalization Presentation
Drupalcamp Atlanta 2010 Internationalization PresentationDrupalcamp Atlanta 2010 Internationalization Presentation
Drupalcamp Atlanta 2010 Internationalization Presentation
 
WordPress & Other Content Management Systems
WordPress & Other Content Management SystemsWordPress & Other Content Management Systems
WordPress & Other Content Management Systems
 
Drupal Translation
Drupal TranslationDrupal Translation
Drupal Translation
 

Recently uploaded

Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Deliverybabeytanya
 
Denver Web Design brochure for public viewing
Denver Web Design brochure for public viewingDenver Web Design brochure for public viewing
Denver Web Design brochure for public viewingbigorange77
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts servicesonalikaur4
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 

Recently uploaded (20)

Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-
sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-
sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-
 
Denver Web Design brochure for public viewing
Denver Web Design brochure for public viewingDenver Web Design brochure for public viewing
Denver Web Design brochure for public viewing
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 

Multilingual WordPress With Polylang

  • 2. Let’s talk about translations • What kind of things need to be translated? • What options do you have? • How to setup Polylang? • How to manage translations? • Missing features and problems
  • 3. So you are going to build a multilingual site… • Complete vs partially translated sites • Human vs machine translated sites • Integrated vs independent sites
  • 4. What needs to be translated? • Main content: Pages, posts, categories… • Plugins • Widgets: Labels, content and visibility • Navigations • Text strings in theme (“Next »”, “Page not found”) • Admin UI (for translators)
  • 5. Multiple languages will make everything more complicated THE TRUTH
  • 6. Translations from 
 visitor’s perspective • UI to change language (flags, list…) • Content is separated by language • Show content only in selected language • Translations are linked: change a language, go to the translated page • Automatically detect visitor’s language and redirect to that language
  • 8. Choosing your tools • WordPress doesn’t really have a built-in solution to have multiple languages at the same time • There is a built-in way to translate WordPress, plugins and theme (.po & .mo) • There’s no built-in UI to create and 
 modify .po files • Doing translations by multi-site or without any plugin will make you miserable
  • 9. Plugins to the rescue • Machine translations • Google Language Translator (≈90k) • Bing Translator (≈2k) • Human translations • Polylang (≈100k) • WPML (≈400k) • qTranslate X (≈80k)
  • 11. Polylang • Simple, open-source and free multilingual plugin • Quick setup and easy to use • Lightweight • Translated content is saved as separate entries that are linked by (hidden) language taxonomy • Translated posts are edited in their own editors
  • 12. Things you need to translate • Main content: linked translations and independent content • Plugins: uses .po files • Widgets: Set visibility, translate labels, uses .po files automatically • Navigations: translate navigation menus (no sync)
  • 13. Things you need to translate • Text strings in theme: Translate in Polylang UI when strings are registered properly and/or use .po files • Admin UI: Users can select their preferred language (from site’s languages) • Media: Translatable or language independent • Slugs: You’ll need this add-on from GitHub
  • 14. Tools for developers • Example functionality • Register, translate and retrieve strings • Get language switcher • Make translations or link translations in code • Retrieve posts in language or translated versions • Full documentation
  • 16. Install and activate the plugin
  • 17. Go to Setting > Languages and 
 setup your main language
  • 18. Language added, set content to default language
  • 21. Synchronization settings
 (copying is not synchronizing!) (Also decide which custom post types and 
 taxonomies you want to be translatable)
  • 22. Add more languages (or do it later)
  • 23. Add language switcher (widget, function or navigation links…)
  • 24. Tips for setup • Don’t make media translatable (unless you really have to) • Avoid synchronizing if copying is enough • Browser language detection might be bad idea if the main language isn’t English • If you have used WPML you can import your multilingual content with WPML to Polylang plugin • If you import data you can map content to right languages with WP All Import
  • 26. Filter content in admin with admin bar language dropdown
  • 27. Navigate to translations with icons:
 
 plus icon - create new translation
 pen icon - edit existing translation
 checked icon - original language
  • 28. New meta box in editor screen
  • 30. Lingotek? • A mysterious tab in Polylang settings • Premium translation service that can be integrated to Polylang (with a Lingotek plugin) • Machine or human translation services can be bought and delivered through it
  • 31. Tips for management • Check out Getting Started from Polylang documentation • It’s easiest to create translation when original post is complete (all the final meta data is copied) • Register strings to be translated in Polylang: easy to use and add new languages • There’s no perfect system to keep track of changes in all languages: you need to create habits and do checks • Test before updating in production (d'oh)
  • 33. Missing features • Cant’t translate options pages (including ACF options pages) • No built-in slug translation • Unintuitive media translation (there’s a plugin though that syncs attachments) • Doesn’t copy editor content to translation
  • 34. Problems • UI will get messy if you have many languages (roughly 10 or more) • Not as thorough support for WooCommerce as WPML • You can build working store with Hyyan WooCommerce Polylang Integration • Maybe not for super duper complex multilingual stuff • You might need to consider WPML (or Drupal?)
  • 36. Polylang • Lightweight, free and open-sourced • You can setup it without any technical knowledge and works with most of themes out of the box • Complete multilingual solution: translate content, use admin in selected language, use .po files when available • Might be clunky when there is loads of languages or the translation logic is really complex
  • 37. But wait there’s more • My co-organizer Janne Ala-Äijälä will tell more advanced stuff on WordCamp Finland 2016 • Subject: Leveling up your Multilingual
 WordPress Site • More about workflow, weird characters, RTL support, translation performance…
  • 38. Thank you! • I’m Teemu Suoranta, web developer from Aucor and organizer of Turku WordPress Meetup • You can follow me on Twitter @TeemuSuoranta • I like to hear your horror stories from WPML