Локализация включаемых файлов

Задача
Необходимо включить в страницу файлы, имеющие локальные особенности.

Решение
Определив соответствующую локаль, измените include_path:

$base = '/usr/local/php-include';
$LANG = 'en_US';
$include_path = ini_get('include_path');
ini_set('include_path',"$base/$LANG:$base/global:$include_path");

Обсуждение
Переменная $base содержит имя базового каталога включаемых локализованных файлов. Файлы, не имеющие локальных особенностей, попадают в глобальный каталог, указанный в переменной $base, а файлы, имеющие такие особенности, размещаются в подкаталогах, названных в соответствии со своими локалями (т. е. en_US). Первым в числе путей, ведущих к включенным файлам, указывается каталог, соответствующий локали, а вторым – глобальный каталог; именно в эти два места обращается PHP в поисках включаемого файла. Такойпорядок указания каталогов гарантирует, что нелокализованная информация будет загружена только в том случае, если локализованные данные окажутся недоступными.

Похожий способ применяется в функции img() из рецепта 16.7. Однако в данном случае можно воспользоваться преимуществом директивы PHP include_path, позволяющей реализовать автоматический поиск каталогов. Чтобы добиться максимальной выгоды, переустановите include_path в своей программе как можно раньше, лучше всего в начале файла, загружаемого с помощью auto_prepend_file при каждом вызове.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Использование определенной локали
Локализация дат и времени
Локализация денежных значений
Локализация изображений
Локализация текстовых сообщений