Введение

Для локализации страниц и элементов сайта можно использовать встроенные механизмы локализации.

Существует два уровня локализации: глобальный и локальный.

Глобальный уровень распространяется на весь сайт. Локальный - только на конкурентную страницу сайта.

Для локализации используются файлы ресурсов в формате JSON.

В именах файлов ресурсов должен содержаться код культуры (языка). В качестве кода культуры обычно используется двухзначный код. Например: ru, en. Если имя файла ресурсов не содержит код культуры, то такой файл считается файлом по умолчанию.

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

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

Структура имен файлов

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

Например, для страницы index.php файл ресурсов по умолчанию будет index.json; для страницы users.php - users.json и т.д.

Для глобальных ресурсов используется файл global.json.

Если файл ресурсов предназначен для определенной культуры (языка), то имя файла должно содержать код этой культуры. Как правило используется двухбуквенные коды ISO 639-1. Например, файл ресурсов для русского языка страницы index.php должен иметь имя index.ru.json, для английского - index.en.json и т.д. Аналогично с файлами глобальных ресурсов: global.ru.json, global.en.json и т.д.

Список двухбуквенных кодов языков (ISO 639-1) можно найти по следующей ссылке: http://www.loc.gov/standards/iso639-2/php/code_list.php

Структура файлов

Файлы ресурсов являются обычными текстовыми файлами в формате JSON.

Для правильной работы следует использовать кодировку UTF-8 без BOM.

Файлы ресурсов содержат массивы элементов ресурсов.

Каждый элемент ресурса записывается в объект следующей структуры: { "Key": "Имя ресура", "Value": "Значение ресурса" }

Ниже представлен пример файла ресурсов.

[
  { "Key": "PageTitle", "Value":  "Заголовок страницы" },
  { "Key": "Introduction", "Value":  "Введение" },
  { "Key": "IntroductionText", "Value":  "Встроенные в движок механизмы локализации позволяют легко адаптировать сайт для разных культур." }
]

При создании файлов ресурсов следует соблюдать общепринятые стандарты JSON.

Использование ресурсов

Для использования ресурсов, достаточно указать в тексте ключ ресура в формате: ${КлючРесурса}.

Например, для ключа ThePageTitle, на странице следует разместить метку: ${ThePageTitle}, а для ключа TheIntroduction - ${TheIntroduction} и т.д.