Team Update i18n Technically our cycle started today…

Team Update: i18n

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 admin strings in the admin. This required some work on GlotPress,, the i18n repo, and core. #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 plugin errors when running a localized version of core. #19599 #14024
  • wptexturize() now has better locale 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 blog. The rss_language option is gone. #13440
  • Locales can now specify a default timezone and start of week through translated strings (rather than PHP). 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 header translation 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