## Содержание - [Основы](#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'));