X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/699231ae09f7057a4d0000cdf32e50a3df6a04ca..bf5c68485ef07868ad0a91168ecd0092af7661ae:/wp-includes/l10n.php diff --git a/wp-includes/l10n.php b/wp-includes/l10n.php index 8baa2ab5..733f3a44 100644 --- a/wp-includes/l10n.php +++ b/wp-includes/l10n.php @@ -16,7 +16,7 @@ * defined. Then it is filtered through the 'locale' filter hook and the value * for the locale global set and the locale is returned. * - * The process to get the locale should only be done once but the locale will + * The process to get the locale should only be done once, but the locale will * always be filtered using the 'locale' hook. * * @since 1.5.0 @@ -36,9 +36,9 @@ function get_locale() { $locale = WPLANG; // If multisite, check options. - if ( is_multisite() && !defined('WP_INSTALLING') ) { - $ms_locale = get_option('WPLANG'); - if ( $ms_locale === false ) + if ( is_multisite() ) { + // Don't check blog option when installing. + if ( defined( 'WP_INSTALLING' ) || ( false === $ms_locale = get_option( 'WPLANG' ) ) ) $ms_locale = get_site_option('WPLANG'); if ( $ms_locale !== false ) @@ -53,7 +53,7 @@ function get_locale() { /** * Retrieves the translation of $text. If there is no translation, or - * the domain isn't loaded the original text is returned. + * the domain isn't loaded, the original text is returned. * * @see __() Don't use translate() directly, use __() * @since 2.2.0 @@ -84,7 +84,7 @@ function translate_with_gettext_context( $text, $context, $domain = 'default' ) /** * Retrieves the translation of $text. If there is no translation, or - * the domain isn't loaded the original text is returned. + * the domain isn't loaded, the original text is returned. * * @see translate() An alias of translate() * @since 2.1.0 @@ -99,7 +99,7 @@ function __( $text, $domain = 'default' ) { /** * Retrieves the translation of $text and escapes it for safe use in an attribute. - * If there is no translation, or the domain isn't loaded the original text is returned. + * If there is no translation, or the domain isn't loaded, the original text is returned. * * @see translate() An alias of translate() * @see esc_attr() @@ -115,7 +115,7 @@ function esc_attr__( $text, $domain = 'default' ) { /** * Retrieves the translation of $text and escapes it for safe use in HTML output. - * If there is no translation, or the domain isn't loaded the original text is returned. + * If there is no translation, or the domain isn't loaded, the original text is returned. * * @see translate() An alias of translate() * @see esc_html() @@ -177,7 +177,7 @@ function esc_html_e( $text, $domain = 'default' ) { * found in more than two places but with different translated context. * * By including the context in the pot file translators can translate the two - * string differently. + * strings differently. * * @since 2.8.0 * @@ -186,8 +186,8 @@ function esc_html_e( $text, $domain = 'default' ) { * @param string $domain Optional. Domain to retrieve the translated text * @return string Translated context string without pipe */ -function _x( $single, $context, $domain = 'default' ) { - return translate_with_gettext_context( $single, $context, $domain ); +function _x( $text, $context, $domain = 'default' ) { + return translate_with_gettext_context( $text, $context, $domain ); } /** @@ -201,8 +201,8 @@ function _x( $single, $context, $domain = 'default' ) { * @param string $domain Optional. Domain to retrieve the translated text * @return string Translated context string without pipe */ -function _ex( $single, $context, $domain = 'default' ) { - echo _x( $single, $context, $domain ); +function _ex( $text, $context, $domain = 'default' ) { + echo _x( $text, $context, $domain ); } function esc_attr_x( $single, $context, $domain = 'default' ) { @@ -257,7 +257,7 @@ function _nx($single, $plural, $number, $context, $domain = 'default') { /** * Register plural strings in POT file, but don't translate them. * - * Used when you want do keep structures with translatable plural strings and + * Used when you want to keep structures with translatable plural strings and * use them later. * * Example: @@ -267,15 +267,15 @@ function _nx($single, $plural, $number, $context, $domain = 'default') { * ); * ... * $message = $messages[$type]; - * $usable_text = sprintf(_n($message[0], $message[1], $count), $count); + * $usable_text = sprintf( translate_nooped_plural( $message, $count ), $count ); * * @since 2.5 - * @param $single Single form to be i18ned - * @param $plural Plural form to be i18ned - * @return array array($single, $plural) + * @param string $singular Single form to be i18ned + * @param string $plural Plural form to be i18ned + * @return array array($singular, $plural) */ -function _n_noop( $single, $plural ) { - return array( $single, $plural ); +function _n_noop( $singular, $plural ) { + return array( 0 => $singular, 1 => $plural, 'singular' => $singular, 'plural' => $plural, 'context' => null ); } /** @@ -283,8 +283,23 @@ function _n_noop( $single, $plural ) { * * @see _n_noop() */ -function _nx_noop( $single, $plural, $context ) { - return array( $single, $plural, $context ); +function _nx_noop( $singular, $plural, $context ) { + return array( 0 => $singular, 1 => $plural, 2 => $context, 'singular' => $singular, 'plural' => $plural, 'context' => $context ); +} + +/** + * Translate the result of _n_noop() or _nx_noop() + * + * @since 3.1 + * @param array $nooped_plural Array with singular, plural and context keys, usually the result of _n_noop() or _nx_noop() + * @param int $count Number of objects + * @param string $domain Optional. The domain identifier the text should be retrieved in + */ +function translate_nooped_plural( $nooped_plural, $count, $domain = 'default' ) { + if ( $nooped_plural['context'] ) + return _nx( $nooped_plural['singular'], $nooped_plural['plural'], $count, $nooped_plural['context'], $domain ); + else + return _n( $nooped_plural['singular'], $nooped_plural['plural'], $count, $domain ); } /** @@ -301,7 +316,7 @@ function _nx_noop( $single, $plural, $context ) { * * @param string $domain Unique identifier for retrieving translated strings * @param string $mofile Path to the .mo file - * @return bool true on success, false on failure + * @return bool True on success, false on failure */ function load_textdomain( $domain, $mofile ) { global $l10n; @@ -358,7 +373,7 @@ function unload_textdomain( $domain ) { * Loads default translated strings based on locale. * * Loads the .mo file in WP_LANG_DIR constant path from WordPress root. The - * translated (.mo) file is named based off of the locale. + * translated (.mo) file is named based on the locale. * * @since 1.5.0 */ @@ -367,7 +382,7 @@ function load_default_textdomain() { load_textdomain( 'default', WP_LANG_DIR . "/$locale.mo" ); - if ( is_multisite() || ( defined( 'WP_NETWORK_ADMIN_PAGE' ) && WP_NETWORK_ADMIN_PAGE ) ) { + if ( is_multisite() || ( defined( 'WP_INSTALLING_NETWORK' ) && WP_INSTALLING_NETWORK ) ) { load_textdomain( 'default', WP_LANG_DIR . "/ms-$locale.mo" ); } } @@ -383,7 +398,7 @@ function load_default_textdomain() { * @param string $domain Unique identifier for retrieving translated strings * @param string $abs_rel_path Optional. Relative path to ABSPATH of a folder, * where the .mo file resides. Deprecated, but still functional until 2.7 - * @param string $plugin_rel_path Optional. Relative path to WP_PLUGIN_DIR. This is the preferred argument to use. It takes precendence over $abs_rel_path + * @param string $plugin_rel_path Optional. Relative path to WP_PLUGIN_DIR. This is the preferred argument to use. It takes precedence over $abs_rel_path */ function load_plugin_textdomain( $domain, $abs_rel_path = false, $plugin_rel_path = false ) { $locale = apply_filters( 'plugin_locale', get_locale(), $domain ); @@ -407,8 +422,8 @@ function load_plugin_textdomain( $domain, $abs_rel_path = false, $plugin_rel_pat * @since 3.0.0 * * @param string $domain Unique identifier for retrieving translated strings - * @param strings $mu_plugin_rel_path Relative to WPMU_PLUGIN_DIR directory in which - * the MO file resides. Defaults is empty string. + * @param string $mu_plugin_rel_path Relative to WPMU_PLUGIN_DIR directory in which + * the MO file resides. Defaults to empty string. */ function load_muplugin_textdomain( $domain, $mu_plugin_rel_path = '' ) { $locale = apply_filters( 'plugin_locale', get_locale(), $domain ); @@ -468,7 +483,7 @@ function load_child_theme_textdomain( $domain, $path = false ) { function &get_translations_for_domain( $domain ) { global $l10n; if ( !isset( $l10n[$domain] ) ) { - $l10n[$domain] = &new NOOP_Translations; + $l10n[$domain] = new NOOP_Translations; } return $l10n[$domain]; } @@ -505,7 +520,7 @@ function translate_user_role( $name ) { * @since 3.0.0 * * @param string $dir A directory in which to search for language files. The default directory is WP_LANG_DIR. - * @return array Array of language codes or an empty array if no languages are present. Language codes are formed by stripping the .mo extension from the language file names. + * @return array Array of language codes or an empty array if no languages are present. Language codes are formed by stripping the .mo extension from the language file names. */ function get_available_languages( $dir = null ) { $languages = array();