-
Notifications
You must be signed in to change notification settings - Fork 0
I18n
Плагин предоставляет механизмы интернационализации проекта, используя файлы локализации вида:
// Файл _locale/ru_RU.php return [ 'hello' => 'привет', ... ];
- domain - адрес каталога, содержащего файлы локализации для данного домена (_locale по умолчанию)
// Файл articles/index.php $sp = [ 'i18n' => [ 'domain' => '_locale', // Каталог для локализации текущей страницы ], ... ]; ...
i18n_get_locale(int $category) : array
Предоставляет информацию о локали и кодировки для данной категории (см. setlocale).
list($locale, $encoding) = i18n_get_locale(LC_CTYPE);
i18n_load_translate(string $domain, [string $locale]) : array
Загружает локализацию для данного домена и локали (LC_CTYPE по умолчанию).
$translate = i18n_load_translate('_locale', 'ru_RU');
i18n(string $string, [string $domain], [string $locale]) : string
Выполняет локализацию сообщения для данного домена (_locale по умолчанию) и локали (LC_CTYPE по умолчанию).
$loc = i18n('hello');
i18n_plural(numeric $number, string $plural, [string $domain], [string $locale]) : string
Выполняет плюрализацию числа в соответствии с конфигурацией для данного домена (_locale по умолчанию) и локали (LC_CTYPE по умолчанию).
$plural = i18n_plural(5, '%d articles');
Важно: для плюрализации числа необходимо указать в конфигурации правила выбора формы.
Пример конфигурации для плюрализации:
// Файл _locale/ru_RU.php [ '' => [ // Правило плюрализации 'plural_forms' => function($n){ if($n % 10 == 1 && $n % 100 != 11){ return 0; } elseif($n % 10 >= 2 && $n % 10 <= 4 && ($n % 100 < 10 || $n % 100 >= 20)){ return 1; } else{ return 2; } } ], '%d articles' => [ '%d статья', '%d статьи', '%d статей' ], ]
Не получается разобраться? Спросите в чате!
- Быстрый старт
- Плагины