## Содержание
- [Основы](#the-basics)
- [Запрос языковой строки](#get)
- [Заполнители и замены](#replace)
## Основы
Локализация это процесс перевода вашего приложения на другие языки. Класс **Lang** предлагает простой механизм организации и запроса текста мультиязычного приложения.
Все языковые файлы находятся в директории **application/language**. В самой директории **application/language** вы создаете директорию для каждого языка. Например, если у вас предусмотрен английский и испанский языки, то в директории **language** вы создаете поддиректории **en** и **sp**.
Каждая языковая директория может иметь много разных языковых файлов. Каждый языковый файл содержит массив со строками на определенном языке. Фактически, у языковых файлов такая же структура, как и у конфигурационных файлов. Например, в **application/language/en** вы можете создать файл **marketing.php** такого вида:
#### Создание языкового файла:
return array(
'welcome' => 'Welcome to our website!',
);
Теперь, создадим корреспондирующий файл **marketing.php** в **application/language/sp**:
return array(
'welcome' => 'Bienvenido a nuestro sitio web!',
);
Прекрасно! Теперь вы знаете, как устанавливать языковые файлы. Начнем локализацию!
## Запрос языковой строки
#### Запрос языковой строки:
echo Lang::line('marketing.welcome')->get();
#### Запрос языковой строки с использованием хелпера "__":
echo __('marketing.welcome');
Обратили внимание, что "marketing" и "welcome" разделены точкой? Текст перед точкой корреспондирует с языковым файлом, ну а строка после точки определяет саму строку в этом файле.
Требуется запросить строку на другом, отличном от настроенного по умолчанию? Нет проблем. Просто укажите язык с помощью **get** метода:
#### Получение языковой строки на определенном языке:
echo Lang::line('marketing.welcome')->get('sp');
## Заполнители и замены
Теперь давайте поработаем с нашим приветственным сообщением. "Добро пожаловать на наш сайт!" - это довольно стандартное сообщение. Было бы полезно указать имя пользователя, которого мы встречаем. Но, создавать языковую строку для каждого пользователя нашего приложения будет длительным и просто смешно. К счастью, вам не придется этого делать. Вы можете указать заполнитель в языковой строке. Заполнителю предшествует двоеточие:
#### Создание языковой строки с заполнителем:
'welcome' => 'Welcome to our website, :name!'
#### Запрос языковой строки с заменой:
echo Lang::line('marketing.welcome', array('name' => 'Taylor'))->get();
#### Запрос языковой строки с заменой и использованием "__":
echo __('marketing.welcome', array('name' => 'Taylor'));