9e83d04f84
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 `$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 catch this issue earlier. * Adds a new test plugin/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. Props yoavf, swissspidy, dd32, ocean90. See #26511. Fixes #39210. git-svn-id: https://develop.svn.wordpress.org/trunk@49236 602fd350-edb4-49c9-b593-d223f7449a82 |
||
---|---|---|
.. | ||
factory | ||
phpunit6 | ||
phpunit7 | ||
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 | ||
listener-loader.php | ||
mock-fs.php | ||
mock-image-editor.php | ||
mock-mailer.php | ||
normalize-xml.xsl | ||
object-cache.php | ||
plural-form-function.php | ||
speed-trap-listener.php | ||
spy-rest-server.php | ||
testcase-ajax.php | ||
testcase-block-supports.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 | ||
utils.php | ||
wp-profiler.php |