at path:
ROOT
/
wp-admin
/
includes
/
translation-install.php
run:
R
W
Run
admin-filters.php
7.81 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
admin.php
3.54 KB
2022-11-16 07:11:57
R
W
Run
Delete
Rename
ajax-actions.php
148.17 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
bookmark.php
11.34 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-automatic-upgrader-skin.php
3.58 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-bulk-plugin-upgrader-skin.php
2.2 KB
2022-08-29 12:46:10
R
W
Run
Delete
Rename
class-bulk-theme-upgrader-skin.php
2.27 KB
2022-08-29 12:46:10
R
W
Run
Delete
Rename
class-bulk-upgrader-skin.php
5.57 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-core-upgrader.php
14.65 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-custom-background.php
20.93 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-custom-image-header.php
47.63 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-file-upload-upgrader.php
3.55 KB
2024-04-09 22:39:24
R
W
Run
Delete
Rename
class-ftp-pure.php
5.3 KB
2019-11-01 14:57:02
R
W
Run
Delete
Rename
class-ftp-sockets.php
8.28 KB
2022-03-22 16:25:02
R
W
Run
Delete
Rename
class-ftp.php
26.66 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-language-pack-upgrader-skin.php
2.42 KB
2021-09-09 13:59:56
R
W
Run
Delete
Rename
class-language-pack-upgrader.php
14.6 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-pclzip.php
192.08 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-plugin-installer-skin.php
11.65 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-plugin-upgrader-skin.php
3.2 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-plugin-upgrader.php
22.78 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-theme-installer-skin.php
12.32 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-theme-upgrader-skin.php
4.07 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-theme-upgrader.php
24.85 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-walker-category-checklist.php
4.78 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-walker-nav-menu-checklist.php
5.5 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-walker-nav-menu-edit.php
12.94 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-ajax-upgrader-skin.php
4.09 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-application-passwords-list-table.php
6.78 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-automatic-updater.php
51.79 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-comments-list-table.php
31.54 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-community-events.php
18.33 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-debug-data.php
59.01 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-filesystem-base.php
23.84 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-filesystem-direct.php
17.72 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-filesystem-ftpext.php
22.56 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-filesystem-ftpsockets.php
18.05 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-filesystem-ssh2.php
22.76 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-importer.php
7.29 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-internal-pointers.php
4.47 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-links-list-table.php
8.69 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-list-table-compat.php
1.46 KB
2020-11-14 16:54:08
R
W
Run
Delete
Rename
class-wp-list-table.php
51.24 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-media-list-table.php
24.97 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-ms-sites-list-table.php
21.47 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-ms-themes-list-table.php
27.4 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-ms-users-list-table.php
14.82 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-plugin-install-list-table.php
24.4 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-plugins-list-table.php
49.21 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-post-comments-list-table.php
1.42 KB
2022-10-04 03:47:14
R
W
Run
Delete
Rename
class-wp-posts-list-table.php
62.28 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-privacy-data-export-requests-list-table.php
5.43 KB
2022-03-10 19:22:00
R
W
Run
Delete
Rename
class-wp-privacy-data-removal-requests-list-table.php
5.58 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-privacy-policy-content.php
31.77 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-privacy-requests-table.php
13.65 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-screen.php
36.42 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-site-health-auto-updates.php
13.19 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-site-health.php
119.37 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-site-icon.php
6.15 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-terms-list-table.php
20.63 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-theme-install-list-table.php
15.31 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-themes-list-table.php
10.04 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-upgrader-skin.php
6.39 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-upgrader-skins.php
1.44 KB
2019-10-08 17:19:04
R
W
Run
Delete
Rename
class-wp-upgrader.php
44.13 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
class-wp-users-list-table.php
18.61 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
comment.php
5.98 KB
2022-07-20 22:15:10
R
W
Run
Delete
Rename
continents-cities.php
20.06 KB
2022-09-19 23:24:10
R
W
Run
Delete
Rename
credits.php
5.8 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
dashboard.php
68.47 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
deprecated.php
40.79 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
edit-tag-messages.php
1.44 KB
2021-12-07 12:20:02
R
W
Run
Delete
Rename
export.php
23.57 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
file.php
96.07 KB
2024-04-09 22:39:24
R
W
Run
Delete
Rename
image-edit.php
42 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
image.php
37.87 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
import.php
6.52 KB
2022-07-29 09:22:10
R
W
Run
Delete
Rename
list-table.php
3.71 KB
2022-10-04 03:47:14
R
W
Run
Delete
Rename
media.php
115.2 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
menu.php
9.37 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
meta-boxes.php
64.5 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
misc.php
44.8 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
ms-admin-filters.php
1.27 KB
2022-09-20 02:51:08
R
W
Run
Delete
Rename
ms-deprecated.php
3.68 KB
2022-09-20 02:51:08
R
W
Run
Delete
Rename
ms.php
33.12 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
nav-menu.php
47.72 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
network.php
26.92 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
noop.php
1.12 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
options.php
4.06 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
plugin-install.php
34.57 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
plugin.php
87.77 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
post.php
79.14 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
privacy-tools.php
32.68 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
revision.php
15.77 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
schema.php
41.9 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
screen.php
6.21 KB
2021-05-09 20:27:02
R
W
Run
Delete
Rename
taxonomy.php
8.23 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
template.php
95.87 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
theme-install.php
6.82 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
theme.php
46.23 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
translation-install.php
8.69 KB
2023-07-06 17:58:08
R
W
Run
Delete
Rename
update-core.php
70.82 KB
2025-10-01 05:48:54
R
W
Run
Delete
Rename
update.php
34.83 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
upgrade.php
109.52 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
user.php
22.92 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
widgets.php
10.66 KB
2024-02-06 14:00:13
R
W
Run
Delete
Rename
error_log
up
📄
translation-install.php
Save
<?php /** * WordPress Translation Installation Administration API * * @package WordPress * @subpackage Administration */ /** * Retrieve translations from WordPress Translation API. * * @since 4.0.0 * * @param string $type Type of translations. Accepts 'plugins', 'themes', 'core'. * @param array|object $args Translation API arguments. Optional. * @return array|WP_Error On success an associative array of translations, WP_Error on failure. */ function translations_api( $type, $args = null ) { // Include an unmodified $wp_version. require ABSPATH . WPINC . '/version.php'; if ( ! in_array( $type, array( 'plugins', 'themes', 'core' ), true ) ) { return new WP_Error( 'invalid_type', __( 'Invalid translation type.' ) ); } /** * Allows a plugin to override the WordPress.org Translation Installation API entirely. * * @since 4.0.0 * * @param false|array $result The result array. Default false. * @param string $type The type of translations being requested. * @param object $args Translation API arguments. */ $res = apply_filters( 'translations_api', false, $type, $args ); if ( false === $res ) { $url = 'http://api.wordpress.org/translations/' . $type . '/1.0/'; $http_url = $url; $ssl = wp_http_supports( array( 'ssl' ) ); if ( $ssl ) { $url = set_url_scheme( $url, 'https' ); } $options = array( 'timeout' => 3, 'body' => array( 'wp_version' => $wp_version, 'locale' => get_locale(), 'version' => $args['version'], // Version of plugin, theme or core. ), ); if ( 'core' !== $type ) { $options['body']['slug'] = $args['slug']; // Plugin or theme slug. } $request = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $request ) ) { trigger_error( sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $request = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $request ) ) { $res = new WP_Error( 'translations_api_failed', sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ), $request->get_error_message() ); } else { $res = json_decode( wp_remote_retrieve_body( $request ), true ); if ( ! is_object( $res ) && ! is_array( $res ) ) { $res = new WP_Error( 'translations_api_failed', sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ), wp_remote_retrieve_body( $request ) ); } } } /** * Filters the Translation Installation API response results. * * @since 4.0.0 * * @param array|WP_Error $res Response as an associative array or WP_Error. * @param string $type The type of translations being requested. * @param object $args Translation API arguments. */ return apply_filters( 'translations_api_result', $res, $type, $args ); } /** * Get available translations from the WordPress.org API. * * @since 4.0.0 * * @see translations_api() * * @return array[] Array of translations, each an array of data, keyed by the language. If the API response results * in an error, an empty array will be returned. */ function wp_get_available_translations() { if ( ! wp_installing() ) { $translations = get_site_transient( 'available_translations' ); if ( false !== $translations ) { return $translations; } } // Include an unmodified $wp_version. require ABSPATH . WPINC . '/version.php'; $api = translations_api( 'core', array( 'version' => $wp_version ) ); if ( is_wp_error( $api ) || empty( $api['translations'] ) ) { return array(); } $translations = array(); // Key the array with the language code for now. foreach ( $api['translations'] as $translation ) { $translations[ $translation['language'] ] = $translation; } if ( ! defined( 'WP_INSTALLING' ) ) { set_site_transient( 'available_translations', $translations, 3 * HOUR_IN_SECONDS ); } return $translations; } /** * Output the select form for the language selection on the installation screen. * * @since 4.0.0 * * @global string $wp_local_package Locale code of the package. * * @param array[] $languages Array of available languages (populated via the Translation API). */ function wp_install_language_form( $languages ) { global $wp_local_package; $installed_languages = get_available_languages(); echo "<label class='screen-reader-text' for='language'>Select a default language</label>\n"; echo "<select size='14' name='language' id='language'>\n"; echo '<option value="" lang="en" selected="selected" data-continue="Continue" data-installed="1">English (United States)</option>'; echo "\n"; if ( ! empty( $wp_local_package ) && isset( $languages[ $wp_local_package ] ) ) { if ( isset( $languages[ $wp_local_package ] ) ) { $language = $languages[ $wp_local_package ]; printf( '<option value="%s" lang="%s" data-continue="%s"%s>%s</option>' . "\n", esc_attr( $language['language'] ), esc_attr( current( $language['iso'] ) ), esc_attr( $language['strings']['continue'] ? $language['strings']['continue'] : 'Continue' ), in_array( $language['language'], $installed_languages, true ) ? ' data-installed="1"' : '', esc_html( $language['native_name'] ) ); unset( $languages[ $wp_local_package ] ); } } foreach ( $languages as $language ) { printf( '<option value="%s" lang="%s" data-continue="%s"%s>%s</option>' . "\n", esc_attr( $language['language'] ), esc_attr( current( $language['iso'] ) ), esc_attr( $language['strings']['continue'] ? $language['strings']['continue'] : 'Continue' ), in_array( $language['language'], $installed_languages, true ) ? ' data-installed="1"' : '', esc_html( $language['native_name'] ) ); } echo "</select>\n"; echo '<p class="step"><span class="spinner"></span><input id="language-continue" type="submit" class="button button-primary button-large" value="Continue" /></p>'; } /** * Download a language pack. * * @since 4.0.0 * * @see wp_get_available_translations() * * @param string $download Language code to download. * @return string|false Returns the language code if successfully downloaded * (or already installed), or false on failure. */ function wp_download_language_pack( $download ) { // Check if the translation is already installed. if ( in_array( $download, get_available_languages(), true ) ) { return $download; } if ( ! wp_is_file_mod_allowed( 'download_language_pack' ) ) { return false; } // Confirm the translation is one we can download. $translations = wp_get_available_translations(); if ( ! $translations ) { return false; } foreach ( $translations as $translation ) { if ( $translation['language'] === $download ) { $translation_to_load = true; break; } } if ( empty( $translation_to_load ) ) { return false; } $translation = (object) $translation; require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $skin = new Automatic_Upgrader_Skin(); $upgrader = new Language_Pack_Upgrader( $skin ); $translation->type = 'core'; $result = $upgrader->upgrade( $translation, array( 'clear_update_cache' => false ) ); if ( ! $result || is_wp_error( $result ) ) { return false; } return $translation->language; } /** * Check if WordPress has access to the filesystem without asking for * credentials. * * @since 4.0.0 * * @return bool Returns true on success, false on failure. */ function wp_can_install_language_pack() { if ( ! wp_is_file_mod_allowed( 'can_install_language_pack' ) ) { return false; } require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $skin = new Automatic_Upgrader_Skin(); $upgrader = new Language_Pack_Upgrader( $skin ); $upgrader->init(); $check = $upgrader->fs_connect( array( WP_CONTENT_DIR, WP_LANG_DIR ) ); if ( ! $check || is_wp_error( $check ) ) { return false; } return true; }