WordPress/wp-admin/includes
Dominik Schilling 7819e2b4ba I18N: Introduce a locale-switching function.
With the introduction of user-specific languages in [38705] it's necessary to be able to switch translations on the fly. For example emails should be sent in the language of the recipient and not the one of the current user.

This introduces a new `WP_Locale_Switcher` class which is used for switching locales and translations. It holds the stack of locales whenever `switch_to_locale( $locale )` is called. With `restore_previous_locale()` you can restore the previous locale. `restore_current_locale()` empties the stack and sets the locale back to the initial value.

`switch_to_locale()` is added to most of core's email functions, either with the value of `get_locale()` (site language) or `get_user_locale()` (user language with fallback to site language).

Props yoavf, tfrommen, swissspidy, pbearne, ocean90.
See #29783.
Fixes #26511.
Built from https://develop.svn.wordpress.org/trunk@38961


git-svn-id: http://core.svn.wordpress.org/trunk@38904 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-26 15:36:31 +00:00
..
admin-filters.php Plugins: Use install_plugins_upload action to print the upload form. 2016-07-31 18:11:29 +00:00
admin.php Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389. 2016-08-31 16:31:29 +00:00
ajax-actions.php Taxonomy: Introduce WP_Taxonomy and use it in register_taxonomy() and unregister_taxonomy(). 2016-10-07 17:12:29 +00:00
bookmark.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
class-automatic-upgrader-skin.php Filesystem API: Change the default value for the $context parameter of get_filesystem_method() and request_filesystem_credentials() to an empty string. 2016-07-22 12:10:27 +00:00
class-bulk-plugin-upgrader-skin.php Docs: Cross-reference parent classes in DocBlocks for upgrader classes moved to their own files in 4.6 2016-07-09 13:45:33 +00:00
class-bulk-theme-upgrader-skin.php Docs: Cross-reference parent classes in DocBlocks for upgrader classes moved to their own files in 4.6 2016-07-09 13:45:33 +00:00
class-bulk-upgrader-skin.php Docs: Cross-reference parent classes in DocBlocks for upgrader classes moved to their own files in 4.6 2016-07-09 13:45:33 +00:00
class-core-upgrader.php Docs: Fix typo in a comment in Core_Upgrader::upgrade(). 2016-07-08 13:19:30 +00:00
class-file-upload-upgrader.php Upgrade/Install: Sanitize file name in File_Upload_Upgrader. 2016-09-06 17:26:31 +00:00
class-ftp-pure.php FTP: ensure that there is only one class named ftp, which is what is expected in the loading of this arcane library. This ensures that an autoload generator, something along the lines of Composer, won't hiccup when it gets to these files. 2016-08-26 18:47:29 +00:00
class-ftp-sockets.php FTP: ensure that there is only one class named ftp, which is what is expected in the loading of this arcane library. This ensures that an autoload generator, something along the lines of Composer, won't hiccup when it gets to these files. 2016-08-26 18:47:29 +00:00
class-ftp.php Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389. 2016-08-31 16:31:29 +00:00
class-language-pack-upgrader-skin.php Docs: Cross-reference parent classes in DocBlocks for upgrader classes moved to their own files in 4.6 2016-07-09 13:45:33 +00:00
class-language-pack-upgrader.php Upgrade/Install: After [37687], fix the number of params passed to the upgrade hooks. 2016-08-28 10:04:30 +00:00
class-pclzip.php Filesystem API: Ensure memory limit calculations by PclZip are using integers. 2016-07-19 11:55:30 +00:00
class-plugin-installer-skin.php Plugins: style the primary action link in the non-js "Installing Plugin" page. 2016-09-17 16:23:27 +00:00
class-plugin-upgrader-skin.php Docs: Cross-reference parent classes in DocBlocks for upgrader classes moved to their own files in 4.6 2016-07-09 13:45:33 +00:00
class-plugin-upgrader.php Upgrader: Add changelog entries for when the classes were moved to its own file. 2016-05-13 20:59:27 +00:00
class-theme-installer-skin.php Docs: Cross-reference parent classes in DocBlocks for upgrader classes moved to their own files in 4.6 2016-07-09 13:45:33 +00:00
class-theme-upgrader-skin.php Docs: Cross-reference parent classes in DocBlocks for upgrader classes moved to their own files in 4.6 2016-07-09 13:45:33 +00:00
class-theme-upgrader.php Upgrader: Add changelog entries for when the classes were moved to its own file. 2016-05-13 20:59:27 +00:00
class-walker-category-checklist.php Docs: Clarify the file header summary for wp-admin/includes/class-walker-category-checklist.php, introduced in [34241]. 2015-09-22 14:33:48 +00:00
class-walker-nav-menu-checklist.php Docs: Walker_Nav_Menu_Checklist and Walker_Nav_Menu_Edit are part of the Navigation Menu API, but intended for use in the scope of administration. 2015-10-15 17:26:24 +00:00
class-walker-nav-menu-edit.php Accessibility: Improve the UI controls to move the Menu items. 2016-10-10 16:26:12 +00:00
class-wp-ajax-upgrader-skin.php Upgrade/Install: Make some install/update failures more verbose. 2016-08-04 22:18:30 +00:00
class-wp-automatic-updater.php General: use get_bloginfo( 'version' ) instead of global $wp_version in several locations - excluding those locations which reload version.php mid-flight. 2016-08-31 05:49:37 +00:00
class-wp-comments-list-table.php Administration: Improve the usage of the button CSS classes. 2016-09-28 19:54:28 +00:00
class-wp-filesystem-base.php Docs: Use 3-digit, x.x.x-style semantic versioning for _doing_it_wrong(), _deprecated_function(), _deprecated_argument(), and _deprecated_file() throughout core. 2016-07-06 12:40:29 +00:00
class-wp-filesystem-direct.php Add @access docs to class-wp-filesystem-* files. 2015-09-10 01:21:24 +00:00
class-wp-filesystem-ftpext.php Filesystem API: Cleanup temporary file when the temporary file couldn't be opened. 2016-07-18 19:43:30 +00:00
class-wp-filesystem-ftpsockets.php Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389. 2016-08-31 16:31:29 +00:00
class-wp-filesystem-ssh2.php Docs: Add missing return descriptions for WP_Filesystem_SSH2::chown() and WP_Filesystem_SSH2::run_command(). 2016-04-21 02:38:29 +00:00
class-wp-importer.php Multisite: Replace get_blog_details() in WP_Importer::set_blog() with get_site(). 2016-10-19 05:45:31 +00:00
class-wp-internal-pointers.php Docs: Clarify the file header summary for wp-admin/includes/class-wp-internal-pointers.php, introduced in [34241]. 2015-09-22 14:35:25 +00:00
class-wp-links-list-table.php Administration: Improve the usage of the button CSS classes. 2016-09-28 19:54:28 +00:00
class-wp-list-table-compat.php List Tables: move _WP_List_Table_Compat into its own file. 2016-08-26 22:23:29 +00:00
class-wp-list-table.php Administration: Improve the usage of the button CSS classes. 2016-09-28 19:54:28 +00:00
class-wp-media-list-table.php Administration: Better consistency for the Media, Add Plugins, and Add Themes toolbars. 2016-10-14 21:33:28 +00:00
class-wp-ms-sites-list-table.php Multisite: Use get_network() and get_current_network_id() for current network data. 2016-10-19 04:47:30 +00:00
class-wp-ms-themes-list-table.php Upgrade/Install: Refresh update counts after page load. 2016-10-19 10:27:29 +00:00
class-wp-ms-users-list-table.php Multisite: Use get_network() and get_current_network_id() for current network data. 2016-10-19 04:47:30 +00:00
class-wp-plugin-install-list-table.php Plugins: Display 'Less Than 10' active installs of a plugin rather than '0+' active installs. 2016-10-05 03:33:29 +00:00
class-wp-plugins-list-table.php Upgrade/Install: Refresh update counts after page load. 2016-10-19 10:27:29 +00:00
class-wp-post-comments-list-table.php Docs: Add missing file headers to the list table classes and adjust class DocBlocks accordingly. 2015-10-17 15:13:25 +00:00
class-wp-posts-list-table.php Posts, Post Types: Add support for post type templates. 2016-10-26 08:07:30 +00:00
class-wp-press-this.php Accessibility: Improve the Tags meta box accessibility. 2016-10-23 18:16:42 +00:00
class-wp-screen.php Docs: Standardize hook docs in wp-admin/* to use third-person singular verbs per the inline documentation standards for PHP. 2016-05-22 18:01:30 +00:00
class-wp-site-icon.php Site Icon: There is no good reason for class-wp-site-icon.php to drop a global instance of itself whenever the file is loaded. The lone use of the global instance of WP_Site_Icon is in an AJAX action that provides virtually no way to override - the file is loaded immediately before the global is used. 2016-08-25 19:09:35 +00:00
class-wp-terms-list-table.php Taxonomy: Introduce more fine grained capabilities for managing taxonomy terms. 2016-09-30 22:40:28 +00:00
class-wp-theme-install-list-table.php Administration: Improve the usage of the button CSS classes. 2016-09-28 19:54:28 +00:00
class-wp-themes-list-table.php Multisite: use get_current_blog_id() where applicable, in lieu of plucking the $blog_id global from outer space. 2016-08-31 04:55:54 +00:00
class-wp-upgrader-skin.php Filesystem API: Change the default value for the $context parameter of get_filesystem_method() and request_filesystem_credentials() to an empty string. 2016-07-22 12:10:27 +00:00
class-wp-upgrader.php Docs: Correct a comment and @return entry in WP_Upgrader::create_lock(). 2016-09-18 20:16:29 +00:00
class-wp-users-list-table.php Administration: Improve the usage of the button CSS classes. 2016-09-28 19:54:28 +00:00
comment.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
continents-cities.php I18N: Update list of continents and cities for the timezone selection. 2016-05-24 23:24:27 +00:00
credits.php I18N: Introduce a user-specific language setting. 2016-10-03 07:04:29 +00:00
dashboard.php Dashboard: Do not show 'Popular Plugin' UI if DISALLOW_FILE_MODS is set. 2016-10-19 08:44:30 +00:00
deprecated.php Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389. 2016-08-31 16:31:29 +00:00
edit-tag-messages.php Docs: Standardize hook docs in wp-admin/* to use third-person singular verbs per the inline documentation standards for PHP. 2016-05-22 18:01:30 +00:00
export.php Docs: Correct a number of typos/spelling mistakes in inline comments. 2016-10-25 00:38:35 +00:00
file.php Administration: Improve the usage of the button CSS classes. 2016-09-28 19:54:28 +00:00
image-edit.php Media: add a function, wp_get_additional_image_sizes(), that wraps the retrieval of the global $_wp_additional_image_sizes. Removes 6 global imports. 2016-08-22 04:37:28 +00:00
image.php Media: Add support for rendering PDF thumbnails. 2016-10-26 07:28:32 +00:00
import.php I18N: Introduce a user-specific language setting. 2016-10-03 07:04:29 +00:00
list-table.php Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389. 2016-08-31 16:31:29 +00:00
media.php Media: Add support for rendering PDF thumbnails. 2016-10-26 07:28:32 +00:00
menu.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
meta-boxes.php Posts, Post Types: Add support for post type templates. 2016-10-26 08:07:30 +00:00
misc.php Docs: Correct a number of typos/spelling mistakes in inline comments. 2016-10-25 00:38:35 +00:00
ms-admin-filters.php Users: Display the new user email notice in user admin too. 2016-02-07 13:54:25 +00:00
ms-deprecated.php Docs: Use 3-digit, x.x.x-style semantic versioning for _doing_it_wrong(), _deprecated_function(), _deprecated_argument(), and _deprecated_file() throughout core. 2016-07-06 12:40:29 +00:00
ms.php I18N: Introduce a locale-switching function. 2016-10-26 15:36:31 +00:00
nav-menu.php Menus: Hide controls in the search tab if no items are found. 2016-10-07 20:56:29 +00:00
network.php I18N: Replace unnecessary context with a translator comment for %s Sites string in network_step1(). 2016-08-23 00:17:27 +00:00
noop.php Create a new file, wp-admin/includes/noop.php, which loads all of the noop functions for load-script|styles.php and is only loaded by those files. DRYs in the process. 2015-09-11 05:04:23 +00:00
options.php Networks and sites: Replace "blog" usage with "site" in docs. 2016-01-28 03:35:27 +00:00
plugin-install.php I18N: Allow for WordPress Plugin Directory URL in plugin details modal to be localized. 2016-10-26 12:18:06 +00:00
plugin.php Options: Move register_setting() from wp-admin to wp-includes. 2016-09-30 15:53:29 +00:00
post.php Media: Better handling of JOINs when searching filenames. 2016-10-05 19:51:30 +00:00
revision.php I18N: Correct various instances of incorrect usage of esc_attr_e(). 2016-08-28 18:06:30 +00:00
schema.php Multisite: Use get_network() and get_current_network_id() for current network data. 2016-10-19 04:47:30 +00:00
screen.php Screen API: After [37972], ensure that $box['args'] is an array before trying to access __widget_basename. 2016-07-07 16:39:29 +00:00
taxonomy.php Store only term IDs in object term relationships caches. 2016-05-26 04:50:27 +00:00
template.php Posts, Post Types: Add support for post type templates. 2016-10-26 08:07:30 +00:00
theme-install.php Administration: Improve the usage of the button CSS classes. 2016-09-28 19:54:28 +00:00
theme.php Posts, Post Types: Add support for post type templates. 2016-10-26 08:07:30 +00:00
translation-install.php Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389. 2016-08-31 16:31:29 +00:00
update-core.php Upgrade: Realign $_new_bundled_files after [38921]. 2016-10-25 20:04:31 +00:00
update.php Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389. 2016-08-31 16:31:29 +00:00
upgrade.php Install: Update sidebars_widgets option for Twenty Seventeen to match its three sidebars. 2016-10-25 20:01:13 +00:00
user.php I18N: Introduce a user-specific language setting. 2016-10-03 07:04:29 +00:00
widgets.php Administration: Improve the usage of the button CSS classes. 2016-09-28 19:54:28 +00:00