Team Update i18n Technically our cycle started today…

Team Update: i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

Technically, our cycle started today. Really though, a few of us have been hammering away at a pre-cycle cycle for the past week or so. What we’ve been doing is focusing on bugs and enhancements, some of them quite old, that will provide more targeted control to translators.

Since Dion is back in action starting next week, we’re back-dating our current cycle, if you will, to have started on January 23, and end on Feb 6. Soon thereafter a new cycle will begin, and that cycle will focus on the development of language pack installation. This cycle will continue to lay the groundwork for that to happen.

Things that have happened so far:

  • Created a document for translators, Important Changes for WordPress 3.4, which outlines all of the changes (audience: translators) what I’m about to outline for you (audience: developers).
  • Worked with Gardener Boren on splitting up the pot files and only loading adminadmin (and super admin) strings in the admin. This required some work on GlotPress, WP.org, the i18n repo, and coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. #19852
  • RTL locales are now automatically detected. #19600 and #19924
  • wp_salt() now falls back to the database for all keys and salts, and is much smarter about when it should fall back. The way we handle default secret keys is now improved and will prevent pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party errors when running a localized version of core. #19599 #14024
  • wptexturize() now has better localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. support for all kinds of curly quotes/apostrophes/primes. This means that a localization like Hebrew can actually turn off curly quote replacement, without needing to resort to weird hacks in their he_IL.php file. #19602
  • RSS feeds now properly reflect the language of the blogblog (versus network, site). The rss_language option is gone. #13440
  • Locales can now specify a default timezone and start of week through translated strings (rather than PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher). Also, default links can be localized, #19601
  • setup-config.php nows use a regex to replace wp-config-sample.php placeholders, preventing translators from needing to keep the placeholders sync’d. #18180
  • The non-gettexted WP_I18N_ strings are all gone. Core now leverages wp_load_translations_early(), which is carefully designed to work in the particular situations we need it. (Not for plugins, yo.) #18180
  • setup-config.php is now fully internationalized and uses wp_load_translations_early() to ensure the local package’s mo file is loaded. Between this and the secret key changes, there is no longer a file in wp-admin or wp-includes that translators need to modify in their distribution. #18180
  • Like the gardening team, we have been using Future Release and Awaiting Review as a potential gold mine, picking through all of the i18n tickets to find the good enhancements and missed bugs. So far, this has resulted in fixes for #19364, #11270, #18770, #19698, #19788, and a few other tickets now slated for 3.4.

Things that will probably happen in the next week:

  • Some decision on support for RTL in feeds. #6425
  • Word count work. #8759
  • Comma fun. #7897
  • Finishing off locale-specific modifications in core. #19603 #19601
  • Themes gaining headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. abilities, and translating page template names. Sergey is going to work on this and I’ll follow up with the makepot.php changes. #15858 #6007
  • And other things on this report, as well as other aspects of laying the groundwork for language packs.

Office Hours: Daily. We will likely set formal office hours for the second cycle as that will include me, Dion, and Sergey, and we’re evenly spaced around the world (UTC -5, +4, +10).

#3-4, #i18n, #team-update