Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WordPress Internationalization Workflows

Pascal Birchler
September 15, 2018

WordPress Internationalization Workflows

Soon after the release of WordPress 15 years ago, support for internationalization was added to the software. This meant that themes, plugins, and WordPress itself could be translated. This was a huge deal as WordPress is used all over the world, in countries where English is not the main language. WordPress was quickly translated into German, Japanese and many more languages.

Over the years, WordPress has steadily improved the way we have to work with internationalization. However, challenges still exist and there will always be new ones ahead. Projects like Gutenberg and ecosystems beyond WordPress.org force us to continuously iterate.

At WordCamp Tokyo 2018, I had the honor to talk about how to make use of the latest and greatest technology to make your WordPress plugin or theme fully internationalized. In this presentation I'm highlighting how you can leverage the powers of WordPress, GlotPress, and WP-CLI to improve the translation workflow in your WordPress projects.

Pascal Birchler

September 15, 2018
Tweet

More Decks by Pascal Birchler

Other Decks in Technology

Transcript

  1. The process of creating a product in such a way

    that it can be easily adapted to specific local languages and cultures Internationalization (I18N)
  2. The process of adapting a product or service to a

    particular language, culture, and desired local “look-and-feel.” Localization (L10N)
  3. <?php /** * Plugin Name: My Super Awesome Plugin *

    Plugin URI: https://wordpress.org/plugins/my-plugin/ * Description: My WordPress plugin that does nothing. * Version: 1.0.0 * Author: Pascal Birchler * Author URI: https://pascalbirchler.com */ __( 'Translate me', 'my-plugin' );
  4. === My Super Awesome Plugin === Contributors: swissspidy Requires at

    least: 4.6 Stable tag: 1.0.0 License: GPLv2 or later My WordPress plugin that does nothing.
  5. <?php /** * Plugin Name: My Super Awesome Plugin *

    Plugin URI: https://wordpress.org/plugins/my-plugin/ * Description: My WordPress plugin that does nothing. * Version: 1.0.0 * Author: Pascal Birchler * Author URI: https://pascalbirchler.com */ __( 'Translate me', 'my-plugin' );
  6. WordPress.org Private Plugin - Very easy to use - Translation

    Platform - Just-in-time Translation Loading - Complicated process - String Extraction - No Translation Community - Manual Translation Loading
  7. # Create a POT file for the WordPress plugin in

    the current directory $ wp i18n make-pot . languages/my-plugin.pot
  8. WordPress.org & Traduttore Private Plugin - Very easy to use

    - Translation Platform - Just-in-time Translation Loading - Complicated process - String Extraction - No Translation Community - Manual Translation Loading