Документация ICMS 1.0 Help

Языки и локализации интерфейса участника

Перед тем, как начать

Для полноценной работы с языками и локализациями необходимо иметь права на работу с ними. Обычно такие права есть у администраторов и/или тех, кто настраивает платформу с нуля. Проверить наличие прав можно, как всегда, через меню: должен быть доступен пункт География | Языки.

Краткое описание функциональности

Языки - довольно противоречивая штука с точки зрения разных менеджеров и администраторов. С одной стороны, они позволяют адаптировать сайт под разные языки, что особенно полезно в случае проведения международных мероприятий. С другой стороны, эта адаптация обычно обходится большей когнитивной нагрузкой: приходится помнить, что некоторые элементы интерфейса участника настраиваются только через локализации, а для части сущностей платформы иногда приходится указывать язык.

В данный момент основное назначение этой части платформы - редактирование текстов и надписей на стороне интерфейса участника (то есть локализация).

Добавление языка

Обратите внимание, что добавление (или изменение) именно языка обычно не требуется, чаще приходится редактировать локализацию.

  1. Войдите в систему под учётной записью администратора, после этого должна открыться главная страница панели администрирования.

  2. В панели администрирования найдите меню и откройте пункт География | Языки, Вы перейдёте на страницу со списком языков, доступных в системе.

  3. Нажмите на кнопку Добавить, она откроет страницу создания языка.

  4. Заполните поля Код (например, ru), Название и Местное название. В поле Статус оставьте выбранным значение Active.

  5. Нажмите на кнопку Сохранить. Если язык успешно сохранится, появится соответствующее системное уведомление в правом верхнем углу. В случае ошибки появится системное уведомление с пояснением.

  6. Вернитесь к списку языков, нажав на кнопку Назад. В таблице должен будет появиться новый язык.

Описание полей

Код*

Код страны, в идеале в соответствии с ISO 639. Должен быть уникальным.

Название*

Название языка на основном языке (обычно это русский язык).

Местное название*

Самоназвание языка (название языка на нём же).

Статус*

Статус языка, нужен для ограничения видимости в интерфейсе участника. Языки со статусом Hidden не отображаются в меню выбора языка (если оно само отображается).

Локализации

Локализация - это список переводов тех или иных элементов интерфейса участника (например, надписи "Новости" на главной странице). Основное назначение языков в системе заключается как раз в работе с локализациями. Локализация состоит из строк перевода, каждая из которых представляет собой путь и значение.

Путь*

Уникальный ключ строки перевода. Называется путём, поскольку обычно состоит из нескольких частей, каждая из которых служит для группировки строк перевода. Каждая часть пути отделяется точкой, например, перевод по пути profile.personal.save окажется в группе profile, внутри неё в группе personal с названием save.

Значение*

Текст, который будет использовать для текущего языка и выбранного пути. Например, по пути выше должно оказаться значение "Сохранить", которое отображается на кнопке в профиле во вкладке Основные данные.

Добавление строки перевода

  1. Откройте список языков (см. Добавление языка) и напротив нужного языка нажмите на кнопку Перевод (с глобусом).

  2. Нажмите на кнопку Добавить. Заполните поля Путь и Значение.

  3. Нажмите на кнопку Принять, чтобы строка перевода добавилась в дерево.

  4. Пункты 2 и 3 можно повторить для добавления нескольких строк перевода. После этого нажмите на кнопку Сохранить.

Дерево локализации

Отдельные строки перевода для удобства группируются в единое дерево, отдельные части которого можно раскрыть, нажав на кнопку с плюсом слева от части пути. Для добавления строки перевода в какую-то часть дерева можно нажать на кнопку с плюсом справа от части пути, рядом с ней также есть кнопка удаления выбранной части дерева. При добавлении строки перевода в заданную часть дерева путь до этой части вводить не нужно (например, при добавлении строки перевода profile.personal.save из части дерева save в поле Путь) нужно указать только save).

Для редактирования строки перевода нужно либо знать путь, либо найти перевод в дереве. В первом случае достаточно просто добавить перевод заново с уже имеющимся путём. Во втором случае нужно развернуть дерево до нужной строки и нажать на кнопку редактирования (с карандашом).

Для быстрого поиска по дереву локализаций можно его развернуть с помощью кнопки Развернуть всё и найти нужное значение перевода с помощью Ctrl + F.

Импорт, экспорт и слияние

Локализации при необходимости можно сохранять в файл, редактировать локально и потом загружать обратно. Для этого под деревом со строками перевода нужно выбрать кнопку Работа с файлами, в которой есть пункты Импортировать перевод, Слияние с файлом с сервера и Экспортировать перевод.

Первый пункт отвечает за загрузку файла с локализацией на платформу, третий пункт - за сохранение текущего состояния локализации в файл, при этом загружаемый на платформу файл полностью заменит локализацию.

Второй пункт позволяет слить текущую локализацию на платформе с локализацией из стандартного файла, который хранится на сервере. Слияние работает несколько умнее: из стандартного файла на сервере добавляются те строки перевода, которых нет в локализации на платформе. Это нужно, например, после обновлений платформы, если была добавлена функциональность, требующая новых строк перевода, и нужно быстро (то есть не вручную) их добавить.

Основной язык платформы

Основной язык платформы - это язык, который используется по умолчанию, если участник не выбрал его самостоятельно. Этот язык используется для синхронизации строк перевода между различными локализациями. Выбрать основной язык можно в списке языков, нажав на кнопку Установить основным со звёздочкой, при этом у языка, который является основным, такой кнопки не будет (как и кнопки удаления).

Часто используемые группы строк перевода

Большинство строк перевода практически не редактируются (например, надписи на кнопках или общие названия), однако к некоторым придётся обращаться чаще, чем хотелось бы. Тут собраны часто используемые группы строк перевода для быстрого поиска.

Группа строк перевода

Назначение

Пример

participantFields.*

Названия пользовательских полей в формах и таблицах

participantFields.lastName - фамилия участника

mainPage.projectType*

Названия типов проектов на главной странице и в разделе "Мои олимпиады"

mainPage.projectType1 - название типа проекта с ID 1

problemSet.*

Тексты страницы прохождения тестирования

problemSet.finalConfirm - текст с запросом подтверждения завершения тестирования

emails.register.*

Элементы письма с регистрацией

emails.register.automated - часть письма про то, что оно отправлено автоматически

Last modified: 11 July 2024