If you’re creating and selling plugins or themes (or even considering it), this episode is for you. Learning how to write code in a way that’s accessible to non-English developers is an absolute must if you want to reach a global market (I mean, why limit your sales to North America?)
Consider these comments from Matt Mullenweg’s 2014 State of the Word:
- Milestone: 2014 was the first year non-English downloads surpassed English downloads of WordPress.
- Internationalization will be a big focus of the coming year, including fully-localized plugin and theme directories on language sites and embedded on dashboard in version 4.1.
- The mission of WordPress is to democratize publishing, which means access for everyone regardless of language, geography, gender, wealth, ability, religion, creed, or anything else people might be born with.
Joining me for this episode are developers Gary Jones (UK) and Nir Rosenbaum (Israel). We’ll discuss what it means for code to be “translation-ready,” the hurdles of working with themes that don’t consider languages that read RTL (Right-to-Left), and tips for writing better code.
Show Notes
Definitions
- Internationalization: the process of developing your theme or plugin so it can easily be translated into other languages. (i18n = Internationalization: i, then 18 letters, then n).
- Localization: the process of translating an internationalized theme or plugin to a new language (l10n = Localization: l, then 10 letters, then n).
- Translation-Ready: adjective used to describe an internationalized theme or plugin.
- Accessibility: designing sites and software in a way that’s flexible enough to meet different user needs, preferences, and situations (a11y = Accessibility: a, then 11 letters, then y).
Translation Process Overview
- Quick primer on making your code translation-ready.
- WordPress i18n: Make Your Plugin Translation Ready
- Internationalization vs Localization
Right to Left (RTL) helpers
- RTL Tester plugin – adds “RTL” to your site’s body class, so you can see how your site looks with RTL
- Pig Latin plugin – translates all messages into Pig Latin (the visual disruption makes it easier to spot issues where RTL styles are missing)
- CSSJanus – convert LTR properties and values in a CSS file to RTL counterparts and vice-versa (For example, in LTR if you have
padding-left: 20px;
then in RTL you’d wantpadding-right: 20px;
) - Grunt CSSJanus – Grunt plugin to convert CSS stylesheets between left-to-right and right-to-left
Translation Tools
- GlotPress – Translation WordPress
- Transifex (I haven’t tried this, but looks like an alternative to GlotPress)
- Poedit.net – Tool for generating .pot files and .po/.mo files
- Locale Reference – Languages that WordPress is translated in
- Automating i18n in WordPress themes (use Grunt to generate .pot files and run CSSJanus)
Accessibility
- WordPress “accessibility-ready” minimum requirements
- Accessibility (WordPress Theme Handbook)