Может войдёшь?
Черновики Написать статью Профиль

Локализация

перевод документация 3.x

Содержание

Основы

Локализация это процесс перевода вашего приложения на другие языки. Класс 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'));

Комментарии (1)

Koka

Если Вы заинтересованы в локализации ПО, я рекомендую Вам использовать этот инструмент на базе web: https://poeditor.com/

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.