Free Ebook cover Wordpress for creating websites from basic to advanced

Wordpress for creating websites from basic to advanced

4.67

(3)

135 pages

Plugin development from scratch: Internationalization and Localization

Capítulo 102

Estimated reading time: 5 minutes

+ Exercise
Audio Icon

Listen in audio

0:00 / 0:00

Plugin Development from Scratch: Internationalization and Localization

Creating plugins is an essential part of customizing and expanding the functionality of a WordPress website. When it comes to making your plugin available to a global audience, internationalization and localization become key. Internationalization (i18n) is the process of developing the plugin in such a way that it can be easily translated into different languages. Localization (l10n), on the other hand, is the process of translating the plugin into a specific language.

Why Internationalize Your Plugin?

WordPress is used all over the world and supports many languages. If you want your plugin to reach a larger and more diverse user base, internationalization is a necessary step. Additionally, plugins that support multiple languages ​​have a competitive advantage and are more accessible to non-English speaking users.

How to Internationalize Your Plugin?

To start internationalizing your plugin, you need to follow a few steps:

  1. Prepare Text Strings: All text strings that will be displayed to the user must be ready for translation. This is done using WordPress-specific functions such as __() and _e(), which allow strings to be extracted and translated.
  2. Load Text Domain: The 'text domain' is a unique identifier for your plugin's translation strings. It is used to distinguish your plugin's strings from strings in other plugins or themes. You need to load the text domain using the load_plugin_textdomain() function.
  3. Generate .pot Files: A .pot file (Portable Object Template) contains all the strings extracted from your plugin. This file serves as the template for translations and can be used by translators to create .po and .mo files corresponding to their languages.

Internationalization Functions in WordPress

WordPress provides several functions to help with internationalization:

  • __($text, $text_domain) - Returns the translated string.
  • _e($text, $text_domain) - Displays the translated string.
  • _x($text, $context, $text_domain) - Returns the translated string with additional context.
  • _n($single, $plural, $number, $text_domain) - Returns the translated string in singular or plural based on the given number.
  • _nx($single, $plural, $number, $context, $text_domain) - Similar to _n(), but with additional context.

These functions allow you to prepare your strings for translation and ensure that your plugin can be used in different languages.

Continue in our app.

You can listen to the audiobook with the screen off, receive a free certificate for this course, and also have access to 5,000 other free online courses.

Or continue reading below...
Download App

Download the app

Location of Your Plugin

After internationalization, the next step is localization, which is the process of translating the plugin into a specific language. This is done by translators who create .po (Portable Object) and .mo (Machine Object) files based on your plugin's .pot file.

  1. .po files: These are editable translation files. They contain the original strings and corresponding translations.
  2. .mo files: These are the compiled translation files, which WordPress reads to display the translated strings.

Translators can use tools like Poedit or Loco Translate to create and manage these translation files.

Testing Internationalization and Localization

Once you have internationalized your plugin and have some translations available, it is important to test to ensure everything is working correctly. You can change the language of your WordPress site in the settings and check if your plugin strings are being displayed in your chosen language.

Tips for Efficient Internationalization and Localization

  • Use clear variable and function names to make it easier for translators to understand.
  • Avoid concatenating strings, as this can complicate translation and may not make sense in other languages.
  • Provide context whenever possible to help translators understand the use of strings.
  • Keep .pot files updated as you add or change strings in your plugin.
  • Encourage the community to contribute translations to your plugin.

Conclusion

Internationalizing and localizing your WordPress plugin is not only a good development practice, but also an essential strategy for reaching and engaging a global audience. By following the guidelines and utilizing the tools and functions provided by WordPress, you can ensure that your plugin is accessible and useful to users around the world. Remember that the WordPress community is vast and diverse,and by making your plugin available in multiple languages, you are contributing to the inclusion and growth of this community.

Now answer the exercise about the content:

Which of the following statements about the internationalization and localization of WordPress plugins is correct?

You are right! Congratulations, now go to the next page

You missed! Try again.

Internationalization (i18n) involves preparing a plugin to be easily translated into different languages. This involves steps such as preparing text strings for translation and generating .pot files. Localization (l10n) is the process where these prepared strings are translated into specific languages using .po and .mo files, making the plugin accessible to a broader audience.

Next chapter

Plugin development from scratch: Plugin Security: Validation, Sanitization and Escaping

Arrow Right Icon
Download the app to earn free Certification and listen to the courses in the background, even with the screen off.