WP_Locale{} WP 2.1.0

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

Про цей клас можна думати, як про масив (колекцію) з базовими перекладами локалі.

Окрім іншого, клас реєструє глобальні змінні:

$weekday
$weekday_initial
$weekday_abbrev
$month
$month_abbrev

  • З версії 4.6.0 з файлу wp-includes/locale.php перенесено з власного файлу wp-includes/class-wp-locale.php .
Основа для:
wp_date() ,
Хуків немає.

Повертає

Нічого.

Використання

$WP_Locale = новий WP_Locale(); // Виклик методів або звернення до властивостей класу

Властивості

$weekday
(масив) (public)

Зберігає переведені повні імена днів тижня

// Ru Array ( [0] => Неділя [1] => Понеділок [2] => Вівторок [3] => Середа [4] => Четвер [5] => П'ятниця [6] => Субота ) // En Array ( [0] => Sunday [1] => Monday [2] => Tuesday [3] => Wednesday [4] => Thursday [5] => Friday [6] => Saturday )
$weekday_initial
(масив) (public)

Зберігає переведені рядки для односимвольних імен днів тижня.

// Ru Array ( [Неділя] => Нд [Понеділок] => Пн [Вівторок] => Вт [Середовище] => Ср [Четвер] => Чт [п'ятниця] => Пт [субота] => Сб ) // En Array ( [Sunday] => S [Monday] => M [Tuesday] => T [Wednesday] => W [Thursday] => T [Friday] => F [Saturday] => S )
$weekday_abbrev
(масив) (public)

Зберігає переведені рядки для скорочених назв днів тижня.

// Ru Array ( [Неділя] => Нд [Понеділок] => Пн [Вівторок] => Вт [Середовище] => Ср [Четвер] => Чт [п'ятниця] => Пт [субота] => Сб ) // En Array ( [Sunday] => Sun [Monday] => Mon [Tuesday] => Tue [Wednesday] => Wed [Thursday] => Thu [Friday] => Fri [Saturday] => Sat )
$month
(масив) (public)

Зберігає перекладені рядки для повних місяців.

// Ru Array ( [01] => Січень [02] => Лютий [03] => Березень [04] => Квітень [05] => Травень [06] => Червень [07] => Липень [08] => Серпень [09] => Вересень [10] => Жовтень [11] => Листопад [12] => Грудень ) // En Array ( [01] => January [02] => February [03] => March [04] => April [05] => May [06] => June [07] => July [08] => August [09] => September [10] => Жовтень [11] => Листопад [12] => December )
$month_genitive
(масив) (public)

Зберігає переведені рядки для імен місяців у родовому відмінку, якщо вказано мовний стандарт.

// Ru Array ( [01] => січня [02] => лютого [03] => березня [04] => квітня [05] => травня [06] => червня [07] => липня [08] => серпня [09] => вересня [10] => жовтня [11] => листопада [12] => грудня ) // En Array ( [01] => January [02] => February [03] => March [04] => April [05] => May [06] => June [07] => July [08] => August [09] => September [10] => Жовтень [11] => Листопад [12] => December )
$month_abbrev
(масив) (public)

Зберігає переведені рядки для скорочених назв місяців.

// Ru Array ( [січень] => Січень [лютий] => лют [Березень] => Бер [Квітень] => Квітень [травень] => травень [Червень] => Червень [липень] => липень [Серпень] => Сер [Вересень] => Вересень [Жовтень] => жовтень [Листопад] => лист [Грудень] => Гру ) // En Array ( [January] => Jan [February] => Feb [March] => Mar [April] => Apr [May] => May [June] => Jun [July] => Jul [August] => Aug [September] => Sep [Жовтень] => Окт [November] => Nov [December] => Dec )
$meridiem
(масив) (public)

Зберігає перекладені рядки для «am» та «pm».

// Ru Array ( [am] => дп [pm] => пп [AM] => ДП [PM] => ПП ) // En Array ( [am] => am [pm] => pm [AM] => AM [PM] => PM )
$text_direction
(рядок) (public)
Напрямок тексту мови локалі. За замовчуванням
ltr(зліва направо). Можливо
rtl(праворуч ліворуч).
$number_format
(масив) (public)

Розділювач тисяч та десяткові точки, що використовуються для локалізації чисел.

// Ru Array ( [thousands_sep] => (пробіл) [decimal_point] => , ) // En Array ( [thousands_sep] => , [decimal_point] =>. )

Методи

__construct()
(public)
Конструктор. Викликає методи
init()і
register_globals(), що встановлюють властивості об’єкта та глобальні змінні.
init()
(public)
Перекладає рядки та заповнює ними властивості об’єкта.
register_globals()
(public)
Створює та заповнює глобальні змінні
weekday,
weekday_initial,
weekday_abbrev,
month,
month_abbrevінформацією з однойменних властивостей об’єкта. Залишений лише для зворотної сумісності. Не рекомендується використовувати глобальні змінні.
get_weekday( $weekday_number )
(public)
Звертається до властивості
weekdayі за переданим індексом повертає значення, наприклад, 0 дасть “неділя”, 6 дасть “субота”.
get_weekday_initial( $weekday_name )
(public)
Звертається до властивості
weekday_initialта за переданим індексом повертає значення: “Sunday” дасть “S”, “Неділя” дасть “Нд”.
get_weekday_abbrev( $weekday_name )
(public)
Звертається до властивості
weekday_abbrevта за переданим індексом повертає значення: “Sunday” дасть “Sun”.
get_month( $month_number )
(public)
Звертається до властивості
monthта за переданим індексом повертає значення: 01 або 1 дасть “Січень”.
get_month_abbrev( $month_name )
(public)
Звертається до якості
month_abbrevі за переданим індексом повертає значення: “Січень” дасть “Січень”.
get_meridiem( $meridiem )
(public)
Звертається до якості
meridiemі за переданим індексом повертає значення: “am” дасть “дп”.
is_rtl()
(public)
Перевіряє, чи є поточна локаль RTL (напис праворуч наліво).
_strings_for_pot()
(public)
Реєструє рядки дати/часу для основного
файлу POT .
rtl_src_admin_notice()
(public)
Виводить повідомлення для адміністратора, якщо каталог
/buildповинен використовуватися для RTL локалі. Виводить повідомлення “Для роботи з RTL необхідно використовувати директорію %s репозиторію develop.”

Приклади

0

#1 Виведемо форму з вибором місяця

Ініціалізувати клас не потрібно, WP робить це автоматично. Примірник класу знаходиться у глобальній змінній $wp_locale .

<?php global $wp_locale; ?> <form action=""> <label for="month">Місяць</label> <select name="month" id="month"> <option value="0" disabled selected>Виберіть місяць</option> <?php foreach ( $wp_locale->month as $index => $month ) { printf( '<option value="%s">%s</option>', $index, $month ); } ?> </select> </form> 

Для довідки. Клас ініціалізується наступним кодом:

$GLOBALS['wp_locale'] = новий WP_Locale();

список змін

З версії 2.1.0Введено.
З версії 4.6.0Переміщує його власний файл від wp-includes/locale.php.

Код WP_Locale{} WP 6.0.2

class WP_Locale { /** * Stores translated strings for full weekday names. * * @ Since 2.1.0 * @var string[] */ public $weekday; /** * Stores translated strings для одного character weekday names. * * There is a hack to make sure that Tuesday and Thursday, as well * Як Sunday and Saturday, don't conflict. See init() method for more. * * @see WP_Locale::init() for how to handle the hack. * * @ Since 2.1.0 * @var string[] */ public $weekday_initial; /** * Stores translated strings для abbreviated weekday names. * * @ Since 2.1.0 * @var string[] */ public $weekday_abbrev; /** * Stores translated strings for full month names. * * @ Since 2.1.0 * @var string[] */ public $month; /** * Stores translated strings for month names в genitive case, if the locale specifies. * * @ Since 4.4.0 * @var string[] */ public $month_genitive; /** * Stores translated strings для abbreviated month names. * * @ Since 2.1.0 * @var string[] */ public $month_abbrev; /** * Stores translated strings for 'am' and 'pm'. * * Також capitalized versions. * * @ Since 2.1.0 * @var string[] */ public $ meridiem; /** * The text direction of the locale language. * * Default is left to right 'ltr'. * * @ Since 2.1.0 * @var string */ public $text_direction = 'ltr'; /** * Ті тисячі розподільників і десяткових пунктів значення використовуються для розміщення номерів. * * @ Since 2.3.0 * @var array */ public $number_format; /** * Визначник string використовуваний для розміщення списку елементів separator. * * @ Since 6.0.0 * @var string */ public $list_item_separator; /** * Конструктор, який дає call методи до набору об'єктів variables. * * @ Since 2.1.0 */ public function __construct() { $this->init(); $this->register_globals(); } /** * Sets up the translated strings and object properties. * * Методи створюють translatable strings for various * Calendar elements. Which allows for specifying locale * specific calendar names and text direction. * * @ Since 2.1.0 * * @global string $text_direction * @global string $wp_version The WordPress version string. */ public function init() { // The weekdays. $this->weekday[0] = /* translators: Weekday. */ __( 'Sunday' ); $this->weekday[1] = /* translators: Weekday. */ __( 'Monday'); $this->weekday[2] = /* translators: Weekday. */ __( 'Tuesday'); $this->weekday[3] = /* translators: Weekday. */ __( 'Wednesday'); $this->weekday[4] = /* translators: Weekday. */ __( 'Thursday'); $this->weekday[5] = /* translators: Weekday. */ __( 'Friday'); $this->weekday[6] = /* translators: Weekday. */ __('Saturday'); // The first letter of each day. $this->weekday_initial[ $this->weekday[0] ] = /* translators: One-letter abbreviation of the weekday. */ _x('S', 'Sunday initial'); $this->weekday_initial[ $this->weekday[1] ] = /* translators: One-letter abbreviation of the weekday. */ _x( 'M', 'Monday initial'); $this->weekday_initial[ $this->weekday[2] ] = /* translators: One-letter abbreviation of the weekday. */ _x('T', 'Tuesday initial'); $this->weekday_initial[ $this->weekday[3] ] = /* translators: One-letter abbreviation of the weekday. */ _x( 'W', 'Wednesday initial' ); $this->weekday_initial[ $this->weekday[4] ] = /* translators: One-letter abbreviation of the weekday. */ _x( 'T', 'Thursday initial' ); $this->weekday_initial[ $this->weekday[5] ] = /* translators: One-letter abbreviation of the weekday. */ _x( 'F', 'Friday initial' ); $this->weekday_initial[ $this->weekday[6] ] = /* translators: One-letter abbreviation of the weekday. */ _x('S', 'Saturday initial'); // Abbreviations for each day. $this->weekday_abbrev[ $this->weekday[0] ] = /* translators: Three-letter abbreviation of the weekday. */ __( 'Sun'); $this->weekday_abbrev[ $this->weekday[1] ] = /* translators: Three-letter abbreviation of the weekday. */ __( 'Mon' ); $this->weekday_abbrev[ $this->weekday[2] ] = /* translators: Three-letter abbreviation of the weekday. */ __( 'Tue'); $this->weekday_abbrev[ $this->weekday[3] ] = /* translators: Three-letter abbreviation of the weekday. */ __( 'Wed'); $this->weekday_abbrev[ $this->weekday[4] ] = /* translators: Three-letter abbreviation of the weekday. */ __( 'Thu'); $this->weekday_abbrev[ $this->weekday[5] ] = /* translators: Three-letter abbreviation of the weekday. */ __( 'Fri'); $this->weekday_abbrev[ $this->weekday[6] ] = /* translators: Three-letter abbreviation of the weekday. */ __( 'Sat'); // The months. $this->month['01'] = /* translators: Month name. */ __( 'January' ); $this->month['02'] = /* translators: Month name. */ __( 'February'); $this->month['03'] = /* translators: Month name. */ __( 'March'); $this->month['04'] = /* translators: Month name. */ __( 'April' ); $this->month['05'] = /* translators: Month name. */ __( 'May'); $this->month['06'] = /* translators: Month name. */ __( 'June' ); $this->month['07'] = /* translators: Month name. */ __( 'July' ); $this->month['08'] = /* translators: Month name. */ __( 'August' ); $this->month['09'] = /* translators: Month name. */ __( 'September'); $this->month['10'] = /* translators: Month name. */ __( 'October'); $this->month['11'] = /* translators: Month name. */ __( 'November'); $this->month['12'] = /* translators: Month name. */ __( 'December'); // The months, genitive. $this->month_genitive['01'] = /* translators: Month name, genitive. */ _x( 'January', 'genitive' ); $this->month_genitive['02'] = /* translators: Month name, genitive. */ _x( 'February', 'genitive' ); $this->month_genitive['03'] = /* translators: Month name, genitive. */ _x( 'March', 'genitive' ); $this->month_genitive['04'] = /* translators: Month name, genitive. */ _x( 'April', 'genitive' ); $this->month_genitive['05'] = /* translators: Month name, genitive. */ _x( 'May', 'genitive' ); $this->month_genitive['06'] = /* translators: Month name, genitive. */ _x( 'June', 'genitive' ); $this->month_genitive['07'] = /* translators: Month name, genitive. */ _x( 'July', 'genitive' ); $this->month_genitive['08'] = /* translators: Month name, genitive. */ _x( 'August', 'genitive' ); $this->month_genitive['09'] = /* translators: Month name, genitive. */ _x( 'September', 'genitive' ); $this->month_genitive['10'] = /* translators: Month name, genitive. */ _x( 'October', 'genitive' ); $this->month_genitive['11'] = /* translators: Month name, genitive. */ _x( 'November', 'genitive' ); $this->month_genitive['12'] = /* translators: Month name, genitive. */ _x( 'December', 'genitive' ); // Abbreviations for each month. $this->month_abbrev[ $this->month['01'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'Jan', 'January abbreviation' ); $this->month_abbrev[ $this->month['02'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'Feb', 'February abbreviation'); $this->month_abbrev[ $this->month['03'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'Mar', 'March abbreviation'); $this->month_abbrev[ $this->month['04'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'Apr', 'April abbreviation' ); $this->month_abbrev[ $this->month['05'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'May', 'May abbreviation' ); $this->month_abbrev[ $this->month['06'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'Jun', 'June abbreviation' ); $this->month_abbrev[ $this->month['07'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'Jul', 'July abbreviation' ); $this->month_abbrev[ $this->month['08'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'Aug', 'August abbreviation' ); $this->month_abbrev[ $this->month['09'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'Sep', 'September abbreviation' ); $this->month_abbrev[ $this->month['10'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'Oct', 'October abbreviation' ); $this->month_abbrev[ $this->month['11'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'Nov', 'November abbreviation' ); $this->month_abbrev[ $this->month['12'] ] = /* translators: Three-letter abbreviation of the month. */ _x( 'Dec', 'December abbreviation' ); // The meridiems. $this->meridiem['am'] = __( 'am' ); $this->meridiem['pm'] = __('pm'); $this->meridiem['AM'] = __( 'AM' ); $this->meridiem['PM'] = __( 'PM' ); // Номери formatting. // See https://www.php.net/number_format /* translators: $thousands_sep argument for https://www.php.net/number_format, default is ',' */ $thousands_sep = __( 'number_format_thousands_sep'); // Зміна простору з небезперервним простором до одразу загортання. $thousands_sep = str_replace( ' ', ' ', $thousands_sep ); $this->number_format['thousands_sep'] = ( 'number_format_thousands_sep' === $thousands_sep ) ? ',' : $thousands_sep; /* translators: $dec_point argument for https://www.php.net/number_format, default is '.' */ $decimal_point = __( 'number_format_decimal_point' ); $this->number_format['decimal_point'] = ( 'number_format_decimal_point' === $decimal_point ) ? '.' : $decimal_point; /* translators: Використовуються між літерами елементів, вони є space after the comma */ $this->list_item_separator = __(', '); // Set text direction. if ( isset( $GLOBALS['text_direction'] ) ) { $this->text_direction = $GLOBALS['text_direction']; /* translators: 'rtl' або 'ltr'. Це означає, що прямий текст для WordPress. */ } elseif ( 'rtl' === _x( 'ltr', 'text direction' ) ) { $this->text_direction = 'rtl'; } } /** * Retrieves the full translated weekday word. * * Week starts on translated Sunday and can be fetched * by using 0 (zero). So the week starts with 0 (zero) * and ends on Saturday with is fetched by using 6 (six). * * @ Since 2.1.0 * * @param int $weekday_number 0 для Sunday через 6 Saturday. * @return string Full translated weekday. */ public function get_weekday( $weekday_number ) { return $this->weekday[ $weekday_number ]; } /** * Retrieves the translated weekday initial. * * The weekday initial is retrieved by the translated * full weekday word. When translating the weekday initial * pay attention to make sure that the starting letter does * not conflict. * * @ Since 2.1.0 * * @param string $weekday_name Перейти до повного тексту weekday word. * @return string Translated weekday initial. */ public function get_weekday_initial( $weekday_name ) { return $this->weekday_initial[ $weekday_name ]; } /** * Retrieves the translated weekday abbreviation. * * The weekday abbreviation is retrieved by the translated * full weekday word. * * @ Since 2.1.0 * * @param string $weekday_name Перейти до повного тексту weekday word. * @return string Translated weekday abbreviation. */ public function get_weekday_abbrev( $weekday_name ) { return $this->weekday_abbrev[ $weekday_name ]; } /** * Retrieves the full translated month by month number. * * The $month_number parameter has to be a string * because it must have the '0' in front of any number * that is less than 10. Starts from '01' and ends at * '12'. * * Ви можете використовувати integer instead and it will add the * '0' before the numbers less than 10 for you. * * @ Since 2.1.0 * * @param string|int $month_number '01' через '12'. * @Return string Translated full month name. */ public function get_month( $month_number ) { return $this->month[ zeroise( $month_number, 2 ) ]; } /** * Retrieves translated version of month abbreviation string. * * Parameter $month_name є expected to be the translated or * Translatable version of the month. * * @ Since 2.1.0 * * @param string $month_name Translated month to get abbreviated version. * @return string Translated abbreviated month. */ public function get_month_abbrev( $month_name ) { return $this->month_abbrev[ $month_name ]; } /** * Retrieves translated version of meridiem string. * * The $meridiem parameter is expected to not be translated. * * @ Since 2.1.0 * * @param string $meridiem Either 'am', 'pm', 'AM', або 'PM'. Неперетворена версія. * @return string Translated version */ public function get_meridiem( $meridiem ) { return $this->meridiem[ $meridiem ]; } /** * Global variables є deprecated. * * Для backward compatibility тільки. * * @deprecated Для backward compatibility тільки. * * @global array $weekday * @global array $weekday_initial * @global array $weekday_abbrev * @global array $month * @global array $month_abbrev * * @ Since 2.1.0 */ public function register_globals() { $GLOBALS['weekday'] = $this->weekday; $GLOBALS['weekday_initial'] = $this->weekday_initial; $GLOBALS['weekday_abbrev'] = $this->weekday_abbrev; $GLOBALS['month'] = $this->month; $GLOBALS['month_abbrev'] = $this->month_abbrev; } /** * Checks if current locale is RTL. * * @ Since 3.0.0 * @return bool Whether locale is RTL. */ public function is_rtl() { return 'rtl' === $this->text_direction; } /** * Registers date/time format strings for general POT. * * Private, unused method to add some date/time formats translated * on wp-admin/options-general.php до загальної POT that would * Іншівикористовуються для адміністрування POT. * * @ Since 3.6.0 */ public function _strings_for_pot() { /* translators: Localized date format, pozri https://www.php.net/manual/datetime.format.php */ __( 'F j, Y'); /* translators: Localized time format, see https://www.php.net/manual/datetime.format.php */ __( 'g:i a' ); /* translators: Localized date and time format, viz https://www.php.net/manual/datetime.format.php */ __( 'F j, Y g:i a'); } /** * Retrieves the localized list item separator. * * @ Since 6.0.0 * * @return string Localized list item separator. */ public function get_list_item_separator() { return $this->list_item_separator; } }

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *