编辑:class-wp-locale-switcher.php
<?php /** * Locale API: WP_Locale_Switcher class * * @package WordPress * @subpackage i18n * @since 4.7.0 */ /** * Core class used for switching locales. * * @since 4.7.0 */ #[AllowDynamicProperties] class WP_Locale_Switcher { /** * Locale switching stack. * * @since 6.2.0 * @var array */ private $stack = array(); /** * Original locale. * * @since 4.7.0 * @var string */ private $original_locale; /** * Holds all available languages. * * @since 4.7.0 * @var string[] An array of language codes (file names without the .mo extension). */ private $available_languages; /** * Constructor. * * Stores the original locale as well as a list of all available languages. * * @since 4.7.0 */ public function __construct() { $this->original_locale = determine_locale(); $this->available_languages = array_merge( array( 'en_US' ), get_available_languages() ); } /** * Initializes the locale switcher. * * Hooks into the {@see 'locale'} and {@see 'determine_locale'} filters * to change the locale on the fly. * * @since 4.7.0 */ public function init() { add_filter( 'locale', array( $this, 'filter_locale' ) ); add_filter( 'determine_locale', array( $this, 'filter_locale' ) ); } /** * Switches the translations according to the given locale. * * @since 4.7.0 * * @param string $locale The locale to switch to. * @param int|false $user_id Optional. User ID as context. Default false. * @return bool True on success, false on failure. */ public function switch_to_locale( $locale, $user_id = false ) { $current_locale = determine_locale(); if ( $current_locale === $locale ) { return false; } if ( ! in_array( $locale, $this->available_languages, true ) ) { return false; } $this->stack[] = array( $locale, $user_id ); $this->change_locale( $locale ); /** * Fires when the locale is switched. * * @since 4.7.0 * @since 6.2.0 The `$user_id` parameter was added. * * @param string $locale The new locale. * @param false|int $user_id User ID for context if available. */ do_action( 'switch_locale', $locale, $user_id ); return true; } /** * Switches the translations according to the given user's locale. * * @since 6.2.0 * * @param int $user_id User ID. * @return bool True on success, false on failure. */ public function switch_to_user_locale( $user_id ) { $locale = get_user_locale( $user_id ); return $this->switch_to_locale( $locale, $user_id ); } /** * Restores the translations according to the previous locale. * * @since 4.7.0 * * @return string|false Locale on success, false on failure. */ public function restore_previous_locale() { $previous_locale = array_pop( $this->stack ); if ( null === $previous_locale ) { // The stack is empty, bail. return false; } $entry = end( $this->stack ); $locale = is_array( $entry ) ? $entry[0] : false; if ( ! $locale ) { // There's nothing left in the stack: go back to the original locale. $locale = $this->original_locale; } $this->change_locale( $locale ); /** * Fires when the locale is restored to the previous one. * * @since 4.7.0 * * @param string $locale The new locale. * @param string $previous_locale The previous locale. */ do_action( 'restore_previous_locale', $locale, $previous_locale[0] ); return $locale; } /** * Restores the translations according to the original locale. * * @since 4.7.0 * * @return string|false Locale on success, false on failure. */ public function restore_current_locale() { if ( empty( $this->stack ) ) { return false; } $this->stack = array( array( $this->original_locale, false ) ); return $this->restore_previous_locale(); } /** * Whether switch_to_locale() is in effect. * * @since 4.7.0 * * @return bool True if the locale has been switched, false otherwise. */ public function is_switched() { return ! empty( $this->stack ); } /** * Returns the locale currently switched to. * * @since 6.2.0 * * @return string|false Locale if the locale has been switched, false otherwise. */ public function get_switched_locale() { $entry = end( $this->stack ); if ( $entry ) { return $entry[0]; } return false; } /** * Returns the user ID related to the currently switched locale. * * @since 6.2.0 * * @return int|false User ID if set and if the locale has been switched, false otherwise. */ public function get_switched_user_id() { $entry = end( $this->stack ); if ( $entry ) { return $entry[1]; } return false; } /** * Filters the locale of the WordPress installation. * * @since 4.7.0 * * @param string $locale The locale of the WordPress installation. * @return string The locale currently being switched to. */ public function filter_locale( $locale ) { $switched_locale = $this->get_switched_locale(); if ( $switched_locale ) { return $switched_locale; } return $locale; } /** * Load translations for a given locale. * * When switching to a locale, translations for this locale must be loaded from scratch. * * @since 4.7.0 * * @global Mo[] $l10n An array of all currently loaded text domains. * * @param string $locale The locale to load translations for. */ private function load_translations( $locale ) { global $l10n; $domains = $l10n ? array_keys( $l10n ) : array(); load_default_textdomain( $locale ); foreach ( $domains as $domain ) { // The default text domain is handled by `load_default_textdomain()`. if ( 'default' === $domain ) { continue; } /* * Unload current text domain but allow them to be reloaded * after switching back or to another locale. */ unload_textdomain( $domain, true ); get_translations_for_domain( $domain ); } } /** * Changes the site's locale to the given one. * * Loads the translations, changes the global `$wp_locale` object and updates * all post type labels. * * @since 4.7.0 * * @global WP_Locale $wp_locale WordPress date and time locale object. * @global PHPMailer\PHPMailer\PHPMailer $phpmailer * * @param string $locale The locale to change to. */ private function change_locale( $locale ) { global $wp_locale, $phpmailer; $this->load_translations( $locale ); $wp_locale = new WP_Locale(); WP_Translation_Controller::get_instance()->set_locale( $locale ); if ( $phpmailer instanceof WP_PHPMailer ) { $phpmailer->setLanguage(); } /** * Fires when the locale is switched to or restored. * * @since 4.7.0 * * @param string $locale The new locale. */ do_action( 'change_locale', $locale ); } }
保存文件
位置:
home
/
robertofarias
/
public_html
/
wp-includes
批量上传
创建
创建
批量权限
批量删除
名称
权限
大小
修改时间
操作
↑ 返回上级
-
-
-
-
ID3
drwxr-xr-x
-
2024-04-03 10:16
权限
删除
重命名
IXR
drwxr-xr-x
-
2026-04-17 05:01
权限
删除
重命名
PHPMailer
drwxr-xr-x
-
2025-12-08 18:52
权限
删除
重命名
Requests
drwxr-xr-x
-
2023-03-30 09:26
权限
删除
重命名
SimplePie
drwxr-xr-x
-
2026-04-17 16:44
权限
删除
重命名
Text
drwxr-xr-x
-
2024-11-13 13:00
权限
删除
重命名
abilities-api
drwxr-xr-x
-
2026-04-17 16:32
权限
删除
重命名
assets
drwxr-xr-x
-
2024-11-13 13:01
权限
删除
重命名
block-bindings
drwxr-xr-x
-
2025-12-04 05:41
权限
删除
重命名
block-patterns
drwxr-xr-x
-
2024-12-19 23:58
权限
删除
重命名
block-supports
drwxr-xr-x
-
2025-12-04 05:41
权限
删除
重命名
blocks
drwxr-xr-x
-
2025-12-04 05:41
权限
删除
重命名
certificates
drwxr-xr-x
-
2022-11-15 19:03
权限
删除
重命名
css
drwxr-xr-x
-
2025-04-16 11:06
权限
删除
重命名
customize
drwxr-xr-x
-
2024-11-20 16:49
权限
删除
重命名
fonts
drwxr-xr-x
-
2024-04-03 10:16
权限
删除
重命名
html-api
drwxr-xr-x
-
2024-12-20 00:03
权限
删除
重命名
images
drwxr-xr-x
-
2023-08-09 11:43
权限
删除
重命名
interactivity-api
drwxr-xr-x
-
2024-12-20 00:12
权限
删除
重命名
js
drwxr-xr-x
-
2025-12-04 05:42
权限
删除
重命名
l10n
drwxr-xr-x
-
2024-12-20 00:12
权限
删除
重命名
php-compat
drwxr-xr-x
-
2022-11-15 19:03
权限
删除
重命名
pomo
drwxr-xr-x
-
2022-11-15 19:03
权限
删除
重命名
rest-api
drwxr-xr-x
-
2024-11-20 16:51
权限
删除
重命名
sitemaps
drwxr-xr-x
-
2022-11-15 19:03
权限
删除
重命名
sodium_compat
drwxr-xr-x
-
2022-11-15 19:03
权限
删除
重命名
style-engine
drwxr-xr-x
-
2022-11-15 19:03
权限
删除
重命名
theme-compat
drwxr-xr-x
-
2025-12-08 18:51
权限
删除
重命名
widgets
drwxr-xr-x
-
2023-06-26 16:12
权限
删除
重命名
block-i18n.json
-rw-r--r--
316 B
2021-08-11 09:08
编辑
下载
权限
删除
重命名
bookmark-template.php
-rw-r--r--
12.47 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名
class-smtp.php
-rw-r--r--
457 B
2021-01-26 13:45
编辑
下载
权限
删除
重命名
class-walker-category-dropdown.php
-rw-r--r--
2.41 KB
2023-11-08 10:55
编辑
下载
权限
删除
重命名
class-walker-category.php
-rw-r--r--
8.28 KB
2023-11-08 10:55
编辑
下载
权限
删除
重命名
class-wp-ajax-response.php
-rw-r--r--
5.14 KB
2022-09-12 15:47
编辑
下载
权限
删除
重命名
class-wp-block-bindings-registry.php
-rw-r--r--
8.28 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-block-bindings-source.php
-rw-r--r--
2.92 KB
2024-11-13 13:01
编辑
下载
权限
删除
重命名
class-wp-block-editor-context.php
-rw-r--r--
1.32 KB
2022-09-12 15:47
编辑
下载
权限
删除
重命名
class-wp-block-list.php
-rw-r--r--
4.6 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-block-metadata-registry.php
-rw-r--r--
11.62 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名
class-wp-block-parser-block.php
-rw-r--r--
2.5 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-block-parser-frame.php
-rw-r--r--
1.97 KB
2024-11-13 13:00
编辑
下载
权限
删除
重命名
class-wp-block-pattern-categories-registry.php
-rw-r--r--
5.32 KB
2025-12-04 05:42
编辑
下载
权限
删除
重命名
class-wp-block-patterns-registry.php
-rw-r--r--
10.99 KB
2026-03-11 06:39
编辑
下载
权限
删除
重命名
class-wp-block-styles-registry.php
-rw-r--r--
6.34 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-block-templates-registry.php
-rw-r--r--
7.02 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-block-type-registry.php
-rw-r--r--
4.91 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-block-type.php
-rw-r--r--
16.86 KB
2024-07-17 11:51
编辑
下载
权限
删除
重命名
class-wp-classic-to-block-menu-converter.php
-rw-r--r--
3.97 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-customize-control.php
-rw-r--r--
25.51 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-customize-nav-menus.php
-rw-r--r--
56.65 KB
2025-12-04 05:42
编辑
下载
权限
删除
重命名
class-wp-fatal-error-handler.php
-rw-r--r--
7.96 KB
2024-11-13 13:00
编辑
下载
权限
删除
重命名
class-wp-feed-cache-transient.php
-rw-r--r--
3.23 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-http-ixr-client.php
-rw-r--r--
3.42 KB
2026-03-11 06:39
编辑
下载
权限
删除
重命名
class-wp-http-requests-hooks.php
-rw-r--r--
1.97 KB
2023-03-30 09:26
编辑
下载
权限
删除
重命名
class-wp-http-requests-response.php
-rw-r--r--
4.3 KB
2023-11-08 10:55
编辑
下载
权限
删除
重命名
class-wp-http-streams.php
-rw-r--r--
16.46 KB
2023-11-08 10:55
编辑
下载
权限
删除
重命名
class-wp-image-editor-gd.php
-rw-r--r--
20.22 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-image-editor-imagick.php
-rw-r--r--
36.11 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-list-util.php
-rw-r--r--
7.27 KB
2023-11-08 10:55
编辑
下载
权限
删除
重命名
class-wp-locale-switcher.php
-rw-r--r--
6.62 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-paused-extensions-storage.php
-rw-r--r--
4.99 KB
2024-11-13 13:00
编辑
下载
权限
删除
重命名
class-wp-plugin-dependencies.php
-rw-r--r--
24.72 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名
class-wp-post-type.php
-rw-r--r--
29.96 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名
class-wp-post.php
-rw-r--r--
6.34 KB
2025-12-04 05:42
编辑
下载
权限
删除
重命名
class-wp-recovery-mode-cookie-service.php
-rw-r--r--
6.72 KB
2022-10-04 03:59
编辑
下载
权限
删除
重命名
class-wp-recovery-mode-email-service.php
-rw-r--r--
10.92 KB
2023-08-09 11:43
编辑
下载
权限
删除
重命名
class-wp-recovery-mode-key-service.php
-rw-r--r--
4.77 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名
class-wp-recovery-mode-link-service.php
-rw-r--r--
3.38 KB
2022-09-12 15:47
编辑
下载
权限
删除
重命名
class-wp-recovery-mode.php
-rw-r--r--
11.18 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名
class-wp-simplepie-file.php
-rw-r--r--
3.47 KB
2025-12-04 05:42
编辑
下载
权限
删除
重命名
class-wp-simplepie-sanitize-kses.php
-rw-r--r--
1.87 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名
class-wp-tax-query.php
-rw-r--r--
19.12 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
class-wp-text-diff-renderer-inline.php
-rw-r--r--
979 B
2024-04-03 10:16
编辑
下载
权限
删除
重命名
class-wp-text-diff-renderer-table.php
-rw-r--r--
18.44 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名
class-wp-theme-json-data.php
-rw-r--r--
1.77 KB
2024-07-17 11:51
编辑
下载
权限
删除
重命名
class-wp-theme-json-resolver.php
-rw-r--r--
34.9 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名
class-wp-theme-json-schema.php
-rw-r--r--
7.19 KB
2024-07-17 11:51
编辑
下载
权限
删除
重命名
class-wp-url-pattern-prefixer.php
-rw-r--r--
4.69 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名
class-wp-user-meta-session-tokens.php
-rw-r--r--
2.94 KB
2025-12-04 05:42
编辑
下载
权限
删除
重命名
class-wp.php
-rw-r--r--
25.86 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
compat.php
-rw-r--r--
17.41 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
default-constants.php
-rw-r--r--
11.1 KB
2024-11-13 13:00
编辑
下载
权限
删除
重命名
default-filters.php
-rw-r--r--
37.02 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
feed-rdf.php
-rw-r--r--
2.61 KB
2020-01-29 00:45
编辑
下载
权限
删除
重命名
global-styles-and-settings.php
-rw-r--r--
20.71 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
http.php
-rw-r--r--
25.27 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
link-template.php
-rw-r--r--
156.36 KB
2025-12-04 05:42
编辑
下载
权限
删除
重命名
media-template.php
-rw-r--r--
61.72 KB
2025-12-04 05:42
编辑
下载
权限
删除
重命名
ms-default-filters.php
-rw-r--r--
6.48 KB
2023-03-30 09:26
编辑
下载
权限
删除
重命名
ms-site.php
-rw-r--r--
40.74 KB
2025-12-04 05:41
编辑
下载
权限
删除
重命名
robots-template.php
-rw-r--r--
5.06 KB
2022-04-06 15:33
编辑
下载
权限
删除
重命名
theme-i18n.json
-rw-r--r--
1.69 KB
2026-02-27 10:54
编辑
下载
权限
删除
重命名
theme-templates.php
-rw-r--r--
6.09 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名
vars.php
-rw-r--r--
6.41 KB
2025-04-16 11:06
编辑
下载
权限
删除
重命名