Current File : /home/bdmcricketindia.in/public_html/wp-includes/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 );
	}
}
1win — скачать приложение букмекерской конторы.2814 (2)

1win — скачать приложение букмекерской конторы.2814 (2)

Содержимое

1win — скачать приложение букмекерской конторы

В мире ставок и азарта 1win является одним из самых популярных букмекеров. Компания была основана в 2018 году и с тех пор стала одним из лидеров на рынке. 1win предлагает своим клиентам широкий спектр услуг, включая ставки на спорт, киберспорт, политические события и многое другое.

Один из ключевых факторов успеха 1win – это мобильное приложение. Скачать 1win apk можно на официальном сайте букмекера или в специализированных магазинах приложений. Мобильное приложение позволяет клиентам 1win делать ставки в любом месте и в любое время, используя свой смартфон или планшет.

Мобильное приложение 1win предлагает множество функций, включая возможность делать ставки, просматривать результаты матчей, получать информацию о коэффициентах и многое другое. Клиенты 1win могут также использовать приложение для управления своими счетами, получать информацию о своих ставках и многое другое.

Преимущества мобильного приложения 1win: удобство использования, доступность, широкий спектр функций, безопасность и конфиденциальность.

Если вы еще не скачали 1win apk, то это время, чтобы сделать это. 1win предлагает своим клиентам множество преимуществ, включая высокие коэффициенты, широкий спектр услуг и безопасность.

Скачать 1win apk можно на официальном сайте букмекера или в специализированных магазинах приложений. Не откладывайте, скачайте 1win apk сегодня и начните делать ставки!

Установка приложения 1win

Для начала, вам нужно скачать приложение 1win на свой мобильный устройство. Это можно сделать, перейдя на официальный сайт 1win и следуя инструкциям по скачиванию.

Шаг 1: Скачать приложение

Перейдите на официальный сайт 1win и кликните на кнопку “Скачать приложение”. Это может занять несколько минут, в зависимости от вашего интернет-соединения.

Операционная система Версия приложения Android 4.1.0 iOS 3.2.1

После скачивания, вам нужно установить приложение на свой мобильный устройство. Это может занять несколько минут, в зависимости от вашего интернет-соединения.

Шаг 2: Установка приложения

Откройте файл, который вы скачали, и нажмите на кнопку “Установить”. Если у вас есть вопросы или проблемы, вы можете обратиться к поддержке 1win.

После установки, вы можете открыть приложение и начать использовать его. Вам нужно зарегистрироваться, чтобы начать играть и получать бонусы.

1win – это лучший способ для вас начать играть и получать бонусы. Установите приложение сейчас и начните играть!

Функциональность приложения 1win

Биржевые ставки

Один из основных функциональных блоков приложения 1win – это возможность делать ставки на спортивные события. Пользователи могут выбрать из более 20 видов спорта, включая футбол, баскетбол, теннис, хоккей и другие. В приложении доступны различные типы ставок, включая линии, тотализаторы и живые ставки.

Кроме того, приложение 1win предлагает пользователям возможность делать ставки на киберспорт, включая Dota 2, CS:GO, League of Legends и другие популярные игры.

Личный кабинет

В приложении 1win пользователи имеют доступ к личному кабинету, где они могут управлять своими аккаунтами, просматривать историю ставок, получать информацию о результатах ставок и управлять своими финансами.

Личный кабинет также позволяет пользователям получать доступ к различным функциям, включая историю ставок, статистику ставок и информацию о результатах ставок.

Кроме того, в личном кабинете доступны функции по управлению финансами, включая возможность пополнения счета, снятия средств и просмотра истории транзакций.

В целом, функциональность приложения 1win позволяет пользователям иметь доступ к широкому спектру функций, включая ставки на спортивные события, управление аккаунтами и финансами, а также получать доступ к информации о результатах ставок.

Преимущества использования приложения 1win

Один из основных преимуществ – это доступность приложения в любое время и из любой точки мира. С помощью приложения 1win вы можете играть в любое время, где бы ни находились, и не зависеть от местоположения.

Кроме того, приложение 1win обеспечивает безопасность и конфиденциальность вашей информации. Оно использует современные технологии безопасности, чтобы защитить вашу личную информацию и финансовые операции.

Еще одним преимуществом является возможность получать доступ к широкому спектру игорных развлечений. 1win предлагает более 1 000 различных игр, включая спортивные события, лото, рулетку и другие.

Преимущества использования приложения 1win также включают в себя доступ к функциям поиска и фильтрации, которые помогут вам найти нужную игру или событие в считанные секунды.

Кроме того, приложение 1win обеспечивает доступ к функциям анализа и прогноза, которые помогут вам сделать более информированные решения при выборе игры или ставки.

Наконец, 1win предлагает доступ к функциям поддержки, которые помогут вам решить любые вопросы или проблемы, которые могут возникнуть при использовании приложения.

В целом, использование приложения 1win обеспечивает комфортный и удобный игорный опыт, доступ к широкому спектру игорных развлечений, безопасность и конфиденциальность вашей информации, а также доступ к функциям анализа и прогноза.

Как скачать приложение 1win

Скачать 1win apk можно с официального сайта конторы или с других ресурсов, которые предлагают скачать 1win apk. Вам нужно только найти подходящий ресурс и скачать 1win apk.

Шаги для скачивания 1win apk

Шаг 1: Откройте официальный сайт 1win.

Шаг 2: Найдите ссылку на скачивание 1win apk.

Шаг 3: Нажмите на ссылку и начните скачивание 1win apk.

После скачивания 1win apk, вам нужно установить его на свой смартфон или планшет. Для этого вам нужно:

Установить 1win apk

Шаг 1: Откройте файл 1win apk, который вы скачали.

Шаг 2: Нажмите на кнопку “Установить” и начните установку 1win apk.

Шаг 3: Ожидайте, пока 1win apk будет установлен на ваш смартфон или планшет.

После установки 1win apk, вы сможете начать играть в онлайн-казино и делать ставки на спорт.

Обратите внимание, что для начала игры вам нужно зарегистрироваться на сайте 1win и сделать минимальный депозит.

Обзор безопасности приложения 1win

Защита данных

1win использует защищенный способ передачи данных, чтобы предотвратить доступ к информации третьими лицами. Все данные, передаваемые между приложением и сервером, шифруются с помощью алгоритма SSL/TLS.

  • Все личные данные, включая имя, фамилию, дату рождения и адрес электронной почты, защищены от доступа третьих лиц.

Защита от мошенничества

1win имеет ван вин встроенные механизмы защиты от мошенничества, чтобы предотвратить любые мошеннические действия.

  • Все изменения в аккаунте пользователя подтверждаются пользователем с помощью двухфакторной аутентификации.
  • 1win apk – это безопасное приложение, которое обеспечивает максимальную защиту пользовательских данных и предотвращает любые мошеннические действия.

    Если у вас возникли вопросы или concerns о безопасности приложения 1win, пожалуйста, свяжитесь с нашим поддержкой, и мы будем рады помочь вам.

    Check Also

    – Официальный сайт Pinco Casino.1586

    Пинко Казино – Официальный сайт Pinco Casino ▶️ ИГРАТЬ Содержимое Преимущества игры на официальном сайте …