WP_LOCALE: Класс для хранения переведённых данных
WP_LOCALE
— это основной класс, который используется для хранения переведённых данных для конкретного языка (локали) в WordPress. Этот класс автоматически инициализируется системой, и вам не нужно создавать его экземпляр самостоятельно.
Использование
Для доступа к этому классу используется глобальная переменная $wp_locale
. Можете использовать методы класса для работы с ним.
global $wp_locale;
Пример: Отображение формы для выбора месяца
В этом примере мы создадим выпадающее меню для выбора месяца:
Внутри класса происходит инициализация экземпляра с помощью следующей строки кода:
$GLOBALS['wp_locale'] = new WP_Locale();
Описание класса WP_Locale
Атрибуты класса
Класс WP_Locale
содержит несколько атрибутов, которые хранят переведённые строки для дней недели, месяцев и другое:
- $weekday: Полные названия дней недели.
- $weekday_initial: Начальные буквы дней недели (например, "П" для Понедельника).
- $weekday_abbrev: Сокращённые названия дней недели (например, "Пн" для Понедельника).
- $month: Полные названия месяцев.
- $month_abbrev: Сокращённые названия месяцев (например, "Янв" для Января).
- $meridiem: Переведённые строки для "днём" и "ночью" (AM и PM).
Конструктор
При создании объекта класса автоматически вызывается метод init()
, который инициализирует переведённые строки.
public function __construct() {
$this->init();
$this->register_globals();
}
Методы класса
Некоторые полезные методы класса WP_Locale
:
-
get_weekday($weekday_number): Возвращает полное название дня недели по его номеру (0 — Воскресенье, 6 — Суббота).
$day_name = $wp_locale->get_weekday(1); // Возвращает "Понедельник"
-
get_month($month_number): Возвращает полное название месяца по его номеру.
$month_name = $wp_locale->get_month(2); // Возвращает "Февраль"
-
get_meridiem($meridiem): Возвращает переведённую строку для AM или PM.
$am = $wp_locale->get_meridiem('am'); // Возвращает "ам"
Заметка о форматировании чисел
Класс также помогает в локализации форматирования чисел. Вы можете задать разделители для тысяч и десятичных знаков:
$this->number_format['thousands_sep'] = ',';
$this->number_format['decimal_point'] = '.';
Изменения в классе
- С версии 2.1.0 класс был представлен.
- С версии 4.6.0 он перемещён в отдельный файл из
wp-includes/locale.php
.
Заключение
Класс WP_Locale
является важным элементом для работы с локализацией в WordPress. Он позволяет удобно управлять переводами дней недели, месяцев и форматированием данных в зависимости от языка. Используя его методы, вы можете легко адаптировать ваши приложения и темы под любые языковые и культурные особенности.