Языки и локализации интерфейса участника
Перед тем, как начать
Для полноценной работы с языками и локализациями необходимо иметь права на работу с ними. Обычно такие права есть у администраторов и/или тех, кто настраивает платформу с нуля. Проверить наличие прав можно, как всегда, через меню: должен быть доступен пункт .
Краткое описание функциональности
Языки - довольно противоречивая штука с точки зрения разных менеджеров и администраторов. С одной стороны, они позволяют адаптировать сайт под разные языки, что особенно полезно в случае проведения международных мероприятий. С другой стороны, эта адаптация обычно обходится большей когнитивной нагрузкой: приходится помнить, что некоторые элементы интерфейса участника настраиваются только через локализации, а для части сущностей платформы иногда приходится указывать язык.
В данный момент основное назначение этой части платформы - редактирование текстов и надписей на стороне интерфейса участника (то есть локализация).
Добавление языка
Обратите внимание, что добавление (или изменение) именно языка обычно не требуется, чаще приходится редактировать локализацию.
Войдите в систему под учётной записью администратора, после этого должна открыться главная страница панели администрирования.
В панели администрирования найдите меню и откройте пункт , Вы перейдёте на страницу со списком языков, доступных в системе.
Нажмите на кнопку Добавить, она откроет страницу создания языка.
Заполните поля Код (например,
ru), Название и Местное название. В поле Статус оставьте выбранным значение Active.Нажмите на кнопку Сохранить. Если язык успешно сохранится, появится соответствующее системное уведомление в правом верхнем углу. В случае ошибки появится системное уведомление с пояснением.
Вернитесь к списку языков, нажав на кнопку Назад. В таблице должен будет появиться новый язык.
Описание полей
- Код*
Код страны, в идеале в соответствии с ISO 639. Должен быть уникальным.
- Название*
Название языка на основном языке (обычно это русский язык).
- Местное название*
Самоназвание языка (название языка на нём же).
- Статус*
Статус языка, нужен для ограничения видимости в интерфейсе участника. Языки со статусом Hidden не отображаются в меню выбора языка (если оно само отображается).
Локализации
Локализация - это список переводов тех или иных элементов интерфейса участника (например, надписи "Новости" на главной странице). Основное назначение языков в системе заключается как раз в работе с локализациями. Локализация состоит из строк перевода, каждая из которых представляет собой путь и значение.
- Путь*
Уникальный ключ строки перевода. Называется путём, поскольку обычно состоит из нескольких частей, каждая из которых служит для группировки строк перевода. Каждая часть пути отделяется точкой, например, перевод по пути
profile.personal.saveокажется в группеprofile, внутри неё в группеpersonalс названиемsave.- Значение*
Текст, который будет использовать для текущего языка и выбранного пути. Например, по пути выше должно оказаться значение "Сохранить", которое отображается на кнопке в профиле во вкладке Основные данные.
Добавление строки перевода
Откройте список языков (см. Добавление языка) и напротив нужного языка нажмите на кнопку Перевод (с глобусом).
Нажмите на кнопку Добавить. Заполните поля Путь и Значение.
Нажмите на кнопку Принять, чтобы строка перевода добавилась в дерево.
Пункты 2 и 3 можно повторить для добавления нескольких строк перевода. После этого нажмите на кнопку Сохранить.
Дерево локализации
Отдельные строки перевода для удобства группируются в единое дерево, отдельные части которого можно раскрыть, нажав на кнопку с плюсом слева от части пути. Для добавления строки перевода в какую-то часть дерева можно нажать на кнопку с плюсом справа от части пути, рядом с ней также есть кнопка удаления выбранной части дерева. При добавлении строки перевода в заданную часть дерева путь до этой части вводить не нужно (например, при добавлении строки перевода profile.personal.save из части дерева save в поле Путь) нужно указать только save).
Для редактирования строки перевода нужно либо знать путь, либо найти перевод в дереве. В первом случае достаточно просто добавить перевод заново с уже имеющимся путём. Во втором случае нужно развернуть дерево до нужной строки и нажать на кнопку редактирования (с карандашом).
Для быстрого поиска по дереву локализаций можно его развернуть с помощью кнопки Развернуть всё и найти нужное значение перевода с помощью Ctrl + F.
Импорт, экспорт и слияние
Локализации при необходимости можно сохранять в файл, редактировать локально и потом загружать обратно. Для этого под деревом со строками перевода нужно выбрать кнопку Работа с файлами, в которой есть пункты Импортировать перевод, Слияние с файлом с сервера и Экспортировать перевод.
Первый пункт отвечает за загрузку файла с локализацией на платформу, третий пункт - за сохранение текущего состояния локализации в файл, при этом загружаемый на платформу файл полностью заменит локализацию.
Второй пункт позволяет слить текущую локализацию на платформе с локализацией из стандартного файла, который хранится на сервере. Слияние работает несколько умнее: из стандартного файла на сервере добавляются те строки перевода, которых нет в локализации на платформе. Это нужно, например, после обновлений платформы, если была добавлена функциональность, требующая новых строк перевода, и нужно быстро (то есть не вручную) их добавить.
Основной язык платформы
Основной язык платформы - это язык, который используется по умолчанию, если участник не выбрал его самостоятельно. Этот язык используется для синхронизации строк перевода между различными локализациями. Выбрать основной язык можно в списке языков, нажав на кнопку Установить основным со звёздочкой, при этом у языка, который является основным, такой кнопки не будет (как и кнопки удаления).
Часто используемые группы строк перевода
Большинство строк перевода практически не редактируются (например, надписи на кнопках или общие названия), однако к некоторым придётся обращаться чаще, чем хотелось бы. Тут собраны часто используемые группы строк перевода для быстрого поиска.
Группа строк перевода | Назначение | Пример |
|---|---|---|
| Названия пользовательских полей в формах и таблицах |
|
| Названия типов проектов на главной странице и в разделе "Мои олимпиады" |
|
| Тексты страницы прохождения тестирования |
|
| Элементы письма с регистрацией |
|