mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
Previously, when using `switch_to_locale()` all current loaded text domains were unloaded and added to the `$l10n_unloaded` global. This prevented the just-in-time loading for text domains after a switch. The just-in-time loading was also only possible if the translations were stored in `WP_LANG_DIR`. Both issues have been fixed. * Adds `WP_Textdomain_Registry` to keep track of the language directory paths for all plugins and themes. * Updates all `load_*_textdomain()` functions to store the path in `WP_Textdomain_Registry`. * Adds `$locale` parameter to `load_textdomain()` to specify the locale the translation file is for. * Adds `$reloadable` parameter to `unload_textdomain()` to define whether a text domain can be loaded just-in-time again. This is used by `WP_Locale_Switcher::load_translations()`. * Extends `_load_textdomain_just_in_time()` to also support text domains of plugins and themes with custom language directories. * Fixes the incorrect `test_plugin_translation_after_switching_locale_twice()` test which should have caught this issue earlier. * Adds a new test plugin and theme to test the loading of translations with a custom language directory. * Deprecates the now unused and private `_get_path_to_translation()` and `_get_path_to_translation_from_lang_dir()` functions. Previously added in [49236] and reverted in [49236] to investigate concerns which are now addressed here. Props yoavf, swissspidy, dd32, ocean90. See #26511. Fixes #39210. git-svn-id: https://develop.svn.wordpress.org/trunk@53874 602fd350-edb4-49c9-b593-d223f7449a82 |
||
|---|---|---|
| .. | ||
| factory | ||
| phpunit6 | ||
| abstract-testcase.php | ||
| bootstrap.php | ||
| class-basic-object.php | ||
| class-basic-subclass.php | ||
| class-jsonserializable-object.php | ||
| class-wp-fake-block-type.php | ||
| class-wp-rest-test-configurable-controller.php | ||
| class-wp-rest-test-search-handler.php | ||
| class-wp-sitemaps-empty-test-provider.php | ||
| class-wp-sitemaps-large-test-provider.php | ||
| class-wp-sitemaps-test-provider.php | ||
| class-wp-test-stream.php | ||
| exceptions.php | ||
| factory.php | ||
| functions.php | ||
| install.php | ||
| mock-fs.php | ||
| mock-image-editor.php | ||
| mock-invokable.php | ||
| mock-mailer.php | ||
| normalize-xml.xsl | ||
| object-cache.php | ||
| phpunit-adapter-testcase.php | ||
| plural-form-function.php | ||
| spy-rest-server.php | ||
| testcase-ajax.php | ||
| testcase-canonical.php | ||
| testcase-rest-api.php | ||
| testcase-rest-controller.php | ||
| testcase-rest-post-type-controller.php | ||
| testcase-xml.php | ||
| testcase-xmlrpc.php | ||
| testcase.php | ||
| trac.php | ||
| unregister-blocks-hooks.php | ||
| utils.php | ||
| wp-profiler.php | ||