Here’s where we are on the five goals for internationalization outlined previously:
1. The first step installing WordPress should be to choose a language. The rest of the install process would then be in that language.
First pass done in #28577. There is a list of things to do in the ticket Created for both bug reports and feature development on the bug tracker., which includes:
- Improved error handling when the API An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. or filesystem isn’t accessible. Working on this.
- Bring this to setup-config.php. Working on this.
- Place browser-based language suggestions at the top. Working on this.
- Use better markup rather than simple select/option HTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers., currently being worked on by @jorbin.
2. You should be able to choose/switch a language from the general settings screen, after which the language pack should be downloaded.
This simply requires replacing mu_dropdown_languages() with a new method that handles uninstalled languages gracefully. This is easy to implement and relies on much of the same code as the install process, so it’s simply on hold until that’s done. I’ve also worked out a UX User experience flow with @sonjanyc.
3. You should be able to search from the dashboard for plugins and themes that are available in your language.
This is handled on the WordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ side. The updated plugins screen will need to pass a new argument to filter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. by language, and then remove that argument if the user requests showing plugins in any language. We’ll need to hack in readme/description translation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. support but that’s a small API change and otherwise WordPress.org work, not core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. work.
4. All localized packages should be able to be automatically generated and made available immediately as part of the core release process.
A script for this is written. While it needs more work, it was used as a test to build 3.9.1 packages, which are doubling as 4.0-alpha testing packages. This does not require changes in core.
5. Localized packages should only be used for initial downloads from WordPress.org. Instead, language packs should be transparently used for updates.
This is ready. A flag needs to simply be flipped in the API.
Ongoing problems to solve:
- I have a proposal to type up for how to handle readmes, license files, etc., in both core and plugins. Requires no core changes.
- No one has picked up the plan to limit the code modifications still done in some locales. This may end up being a July project for me.
- The relevant APIs we need in core were deployed Launching code from a local development environment to the production web server, so that it's available to visitors. to WordPress.org. Also, the plugin 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 and theme directories are fully internationalized; we need to get those strings to translators and shoehorn them onto existing international sites.