WordPress как на ладони
wordpress jino

get_locale() WP 1.5

Устанавливает глобальную переменную $locale и получает текущую локаль (индекс языка сайта). По умолчанию 'en_US'.

Второй и последующие разы срабатывания, функция будет возвращать переменную $locale пропущенную через фильтр 'locale'.

Список локалей смотрите здесь.

Доверии 4.0 локаль устанавливалась в константе WPLANG, в wp-config.php. Теперь эта константа считается устаревшей.

Обычно get_local() используется в функциях локализации (перевода), например, load_textdomain().

✈ 1 раз = 0.000015с = очень быстро | 50000 раз = 0.05с = скорость света
Хуки из функции:
Возвращает

Строку. Значение локали.

Использование

$locale = get_locale();

Примеры

#1. Посмотрим что у нас в локали в ткущий момент:

echo get_locale();
// получим 'ru_RU', если сайт на русском

#2. Как установить локаль LC_MONETARY

Этот пример показывает как установить локаль LC_MONETARY. Если базовая локаль не установлена, то укажем локаль 'en_US' жестко:

setlocale(LC_MONETARY, get_locale());
$my_local_settings = localeconv();
if( $my_local_settings['int_curr_symbol'] == "" )
	  setlocale(LC_MONETARY, 'en_US');

#3. Как посмотреть значение установленной локали:

setlocale( LC_MONETARY, get_locale() );
$my_local_settings = localeconv();
print_r( $my_local_settings );

Код get locale: wp-includes/l10n.php WP 4.8.2

<?php
function get_locale() {
	global $locale, $wp_local_package;

	if ( isset( $locale ) ) {
		/**
		 * Filters WordPress install's locale ID.
		 *
		 * @since 1.5.0
		 *
		 * @param string $locale The locale ID.
		 */
		return apply_filters( 'locale', $locale );
	}

	if ( isset( $wp_local_package ) ) {
		$locale = $wp_local_package;
	}

	// WPLANG was defined in wp-config.
	if ( defined( 'WPLANG' ) ) {
		$locale = WPLANG;
	}

	// If multisite, check options.
	if ( is_multisite() ) {
		// Don't check blog option when installing.
		if ( wp_installing() || ( false === $ms_locale = get_option( 'WPLANG' ) ) ) {
			$ms_locale = get_site_option( 'WPLANG' );
		}

		if ( $ms_locale !== false ) {
			$locale = $ms_locale;
		}
	} else {
		$db_locale = get_option( 'WPLANG' );
		if ( $db_locale !== false ) {
			$locale = $db_locale;
		}
	}

	if ( empty( $locale ) ) {
		$locale = 'en_US';
	}

	/** This filter is documented in wp-includes/l10n.php */
	return apply_filters( 'locale', $locale );
}

Cвязанные функции

Из метки: locale (локаль язык сайта)

Еще из раздела: Локализация

get_locale Комментариев нет

Здравствуйте, !

Ваш комментарий