Первый отображаемый язык («Показывать» = да) является языком, который будет использоваться в системе по умолчанию. Например, на странице авторизации и в методах API.
Подраздел «Языки» содержит:
таблицу со списком всех текущих настроенных локалей в системе:
№
(не имеет пустого значения) -
порядок локалей, который используется в
переводах,
в диалоговых окнах переводов и на странице
авторизации;
Код
(обяз.) - уникальный
идентификатор локали;
Язык
(обяз.) - название языка;
Показывать
(флажок) - отображать ли
данный язык в системе переводов;
безымянный столбец для удаления строки (иконка крестика);
кнопки таблицы «Переместить выше», «Переместить ниже» и «Добавить язык»;
контекстное меню строк таблицы с пунктами «Переместить выше», «Переместить ниже» и «Удалить»;
кнопку «Сохранить».
Если в таблице строк больше, чем высота экрана, тогда в таблице появляется вертикальный скролл. Ширина столбцов (кроме столбца с крестиком) изменяемая, но не сохраняемая. Действие «drag-and-drop» отсутствует. Сортировка отсутствует, при этом таблица всегда отсортирована в порядке возрастания номера.
Ячейки таблицы «Код» и «Язык» могут находиться в двух состояниях: в режиме просмотра (по умолчанию) и в режиме редактирования. В режиме редактирования одновременно не может находиться более одной ячейки. Если ячейка находится в режиме редактирования, то это означает, что она в данный момент является и выделенной. При наведении мышкой на любую ячейку таблицы в режиме просмотра отображается тултип, отображающий полное значение ячейки.
Режим просмотра -> режим редактирования
Для выделенной ячейки нажатие клавиши «Enter» должно переводить ячейку в режим редактирования, выделяется ее содержимое.
Режим редактирования -> режим просмотра
Для редактируемой ячейки нажатие клавиши «Esc» либо потеря фокуса на ячейке должны переводить ячейку в режим просмотра без сохранения внесенных изменений. Нажатие клавиши «Enter» должно приводить к сохранению внесенных изменений с учетом правил валидации, описанных ниже.
Для добавления нового языка нажимается кнопка «Добавить язык»: в конец таблицы добавляется новая строка (еще без номера), в которой ячейка с кодом автоматически находится в режиме редактирования.
Примечание: пока не произошло локальное сохранение нового языка, кнопка «Добавить язык» недоступна.
Добавление нового языка можно отменить, нажав на клавишу «Esc», новая строка удалится.
Валидация для ячейки кода при локальном сохранении (на нажатие клавиши «Enter»): поле не может содержать пустое значение либо одни пробелы. Иначе:
Для нового языка пустая строка таблицы автоматически удаляется. В результате же успешного сохранения новой локали задается номер и код, название пустое, флажок «Показать» выключен.
Для существующей локали ячейка переходит в режим просмотра, в котором отображается предыдущее сохраненное значение.
В поле «Код» допускается ввод максимум 15 символов, на любом языке. При этом код должен быть уникальным среди списка языков, не должен быть равен KZ и не должен содержать символы:
; / ? : @ = & " < > # % { } | ^ ~ [ ] `
Иначе возможно исполнение альтернативных потоков событий 1-3.
Отображение локалей определяется значением флажка «Показать»: для включенного - язык отображается, иначе - нет.
Удаление выделенной локали осуществляется нажатием иконки крестика / пункта контекстного меню «Удалить» либо клавиши «Delete» (только если выделенная ячейка находится в режиме просмотра). Удаление локальное. Система при этом выдает браузерное диалоговое окно с сообщением:
Вы действительно хотите удалить данный язык?
Примечание.
Редактирование и удаление первых трех языков (русский, казахский, английский) всегда недоступно. Возможна только настройка их отображения (доступен флажок «Показывать»).
Кроме того, удаление локали удаляет ее и из БД, поэтому при добавлении нового языка с аналогичными названием и кодом значения переводов не сохранятся, а по общему правилу заполнятся значениями из локали по умолчанию.
Порядок локалей можно изменять, только перемещая соответствующие строки таблицы выше / ниже с помощью кнопок либо пунктов контекстного меню «Переместить выше» и «Переместить ниже». Для первой строки таблицы действие «Переместить выше» недоступно. Аналогично, для последней строки таблицы действие «Переместить ниже» недоступно.
Первый отображаемый язык («Показывать» = да) является языком, который будет использоваться в системе по умолчанию. Например, на странице авторизации и в методах API.
Валидация таблицы на кнопку «Сохранить»: флажок «Показывать» включен хотя бы у одного языка, а также во всех строках таблицы заполнены поля кода и названия, иначе возможно исполнение альтернативных потоков событий 4-5.
Альтернативные потоки событий.
Альтернативный поток 1. Введено неуникальное значение кода языка.
Система информирует
Язык с таким кодом уже существует
, ячейка
остается в режиме редактирования.
Альтернативный поток 2. Введено зарезервированный код KZ.
Система информирует
Язык с кодом KZ зарезервирован системой
,
ячейка остается в режиме редактирования.
Альтернативный поток 3. Введены некорректные символы в коде.
Система информирует
Код содержит недопустимые символы
, ячейка
остается в режиме редактирования.
Альтернативный поток 4. Ни один язык не помечен как показываемый.
Система информирует
Укажите хотя бы один язык для отображения
,
действие не выполняется.
Альтернативный поток 5. Заполнены не все поля кода и названия.
Система информирует Заполните все поля
,
действие не выполняется.