Skip to content

Latest commit

 

History

History
43 lines (25 loc) · 2.53 KB

lang.md

File metadata and controls

43 lines (25 loc) · 2.53 KB

##Локализация

###Основы

Локализация — процесс перевода приложения на другие языки. Иногда требуется создать несколько версий сайта, например русскоязычную и англоязычную. Для достижения этой цели класс Lang предлагает простой механизм организации и запроса текста мультиязычного приложения.

Файлы с текстами приложения должны храниться в директории /app/languages/, каждый язык должен иметь свою папку, например для русских текстов это будет папка /app/languages/ru/. Каждая такая папка может иметь название, состоящее только из символов латинского алфавита и цифр.

Папка с текстами языка не может иметь вложенные папки, а точнее интерфейс класса Lang не дает возможности к ним обратиться.

Доступ к тексту осуществляется "точечным путем" file.key1.key2. Файл локализации должен возвращать массив настроек.

###Доступ

Для примера возьмем файл локализации system.php из директории /app/languages/ru/.

Для начала нужно установить язык приложения по умолчанию. Сделать это можно в файле /app/settings.php. На данный момент значение уже установлено и языком по умолчанию Knee является русский.

Lang::setLocale('ru');

Узнать текущее значение выбранного языка, можно воспользовавшись методом getLocale().

$lang = Lang::getLocale();

Получить необходимую текстовую строку можно следующим образом.

$error404_title = Lang::get('settings.error.e404-title');

Так же класс Lang дает возможность вносить изменения в существующие тексты.

Lang::set('settings.error.e404-title', 'Произошло невероятное!');