diff --git src/wp-admin/includes/user.php src/wp-admin/includes/user.php
index 6bf826b..ef067ea 100644
|
|
function edit_user( $user_id = 0 ) { |
98 | 98 | |
99 | 99 | if ( isset( $_POST['locale'] ) ) { |
100 | 100 | $locale = sanitize_text_field( $_POST['locale'] ); |
101 | | if ( ! in_array( $locale, get_available_languages(), true ) ) { |
| 101 | if ( 'default' === $locale ) { |
102 | 102 | $locale = ''; |
| 103 | } elseif ( ! in_array( $locale, get_available_languages(), true ) ) { |
| 104 | $locale = 'en_US'; |
103 | 105 | } |
104 | 106 | |
105 | | $user->locale = ( '' === $locale ) ? 'en_US' : $locale; |
| 107 | $user->locale = $locale; |
106 | 108 | } |
107 | 109 | } |
108 | 110 | |
diff --git src/wp-admin/user-edit.php src/wp-admin/user-edit.php
index a85de3b..533dc17 100644
|
|
if ( !( IS_PROFILE_PAGE && !$user_can_edit ) ) : ?> |
273 | 273 | |
274 | 274 | <?php |
275 | 275 | $languages = get_available_languages(); |
276 | | if ( $languages ) : ?> |
| 276 | if ( $languages ) : |
| 277 | $languages = array_merge( array( 'test' ), $languages ); |
| 278 | ?> |
277 | 279 | <tr class="user-language-wrap"> |
278 | 280 | <th scope="row"> |
279 | 281 | <?php /* translators: The user language selection field label */ ?> |
… |
… |
if ( $languages ) : ?> |
294 | 296 | 'id' => 'locale', |
295 | 297 | 'selected' => $user_locale, |
296 | 298 | 'languages' => $languages, |
297 | | 'show_available_translations' => false |
| 299 | 'show_available_translations' => false, |
| 300 | 'show_site_locale_default' => true |
298 | 301 | ) ); |
299 | 302 | ?> |
300 | 303 | </td> |
diff --git src/wp-includes/l10n.php src/wp-includes/l10n.php
index 0ad4e01..c32deb5 100644
|
|
function wp_get_pomo_file_data( $po_file ) { |
1065 | 1065 | * @type bool|int $echo Whether to echo the generated markup. Accepts 0, 1, or their |
1066 | 1066 | * boolean equivalents. Default 1. |
1067 | 1067 | * @type bool $show_available_translations Whether to show available translations. Default true. |
| 1068 | * @type bool $show_site_locale_default Whether to show an option to fall back to the site's locale. Default false. |
1068 | 1069 | * } |
1069 | 1070 | * @return string HTML content |
1070 | 1071 | */ |
… |
… |
function wp_dropdown_languages( $args = array() ) { |
1078 | 1079 | 'selected' => '', |
1079 | 1080 | 'echo' => 1, |
1080 | 1081 | 'show_available_translations' => true, |
| 1082 | 'show_site_locale_default' => false, |
1081 | 1083 | ) ); |
1082 | 1084 | |
1083 | 1085 | $translations = $args['translations']; |
… |
… |
function wp_dropdown_languages( $args = array() ) { |
1122 | 1124 | if ( $translations_available ) { |
1123 | 1125 | $structure[] = '<optgroup label="' . esc_attr_x( 'Installed', 'translations' ) . '">'; |
1124 | 1126 | } |
| 1127 | |
| 1128 | if ( $args['show_site_locale_default'] ) { |
| 1129 | $lang_code = str_replace( '_', '-', get_locale() ); |
| 1130 | list( $lang_code ) = explode( '-', $lang_code ); |
| 1131 | $structure[] = sprintf( '<option value="default" lang="%1$s" data-installed="1">%2$s</option>', $lang_code, __( 'Site Default' ) ); |
| 1132 | } |
| 1133 | |
1125 | 1134 | $structure[] = '<option value="" lang="en" data-installed="1">English (United States)</option>'; |
| 1135 | |
1126 | 1136 | foreach ( $languages as $language ) { |
1127 | 1137 | $structure[] = sprintf( |
1128 | 1138 | '<option value="%s" lang="%s"%s data-installed="1">%s</option>', |