В SCO поддерживается перевод интерфейса на разные языки. Отдельно можно установить язык для кассира и для покупателя. Покупатель может выбрать один из нескольких доступных языков в окне приветствия.

Также доступна возможность менять текст любого сообщения, которое выводится на экран, для любого языка. 

В логах все сообщения пишутся только на русском независимо от того, какой язык выбран.

Текстовые сообщения в программе хранятся в виде id - идентификатора в виде строки, состоящей из латинских символов и цифр. При отображении на экране или записи в лог id заменяется на текст из файлов перевода, которые находятся в каталоге /opt/sst-sco/i18n.

Языковые настройки

Наименование

Возможные значения

Описание

Файл /opt/sst-sco/conf/i18n.ini, секция [I18n], настройки локализации
cashierLang

код языка

  • ru (по умолчанию)
  • en
  • kz
  • uz

Язык интерфейса кассира

customerLangs

список кодов языка разделенных запятой

  • ru
  • en
  • kz
  • uz

по умолчанию ru, en

Языки, доступные для покупателя. Порядок языков соответствует порядку кнопок на форме, первый – это язык по умолчанию

keyboardLayouts

список значений разделенных запятой

  • ru 
  • en
  • kz
  • rusimple
  • ensimple

по умолчанию ru, en

Доступные раскладки клавиатуры:

  • ru, en, kz – полные раскладки для русского, английского, казахского языков соответственно,
  • rusimple, ensimple – русская и английская раскладки только с буквами и цифрами.
upperCaseLayouts

список значений разделенных запятой

  • ru 
  • en
  • kz
  • rusimple
  • ensimple

по умолчанию не задано

Раскладки клавиатуры в верхнем регистре, без кнопки shift



emailLayout

раскладка клавиатуры

  • ru
  • en
  • kz
  • rusimple
  • ensimple

по умолчанию en

Раскладка клавиатуры, используемая для ввода email.

Необходимо обеспечить возможность переключения в раскладку en с вводом символов в нижнем регистре


После скрытия клавиатуры происходит переключение в раскладку со значением по умолчанию.

Настройка языковых кнопок

Для кнопок на экране приветствия можно задать отображение флага страны. Секции добавляются вручную.

Наименование

Возможные значения

Описание

Файл /opt/sst-sco/conf/check.ini, секция [Check.WelcomeForm.language.<код языка>], настройка кнопки языка
icon
  • абсолютный путь до файла
  • название иконки из параметра темы оформления
Иконка, название из темы оформления или путь до файла
iconSize<ширина>x<высота>Размер изображения. Не изменяет соотношение сторон.
Установка флага страны для кнопок русского и английского языков
[Check.WelcomeForm.language.ru]
icon = icon.langRu
iconSize = 32x32

[Check.WelcomeForm.language.en]
icon = /opt/sst-sco/themes/default/icons/en.png
iconSize = 32x32

Изменение текста отображаемых в интерфейсе сообщений

Для того чтобы изменить текст некоторого сообщения, надо найти его id в одном из файлов в каталоге /opt/sst-sco/i18n. Далее в файле /opt/sst-sco/conf/i18n.ini устанавливается новый текст.
Например, для изменения текста "Положите товар в пакет" из ошибки контроля веса, надо:

  1. Найти этот текст в файле /opt/sst-sco/i18n/ru.msg. id в данном случае wceNotAddedHint.
  2. Добавить настройку в файле /opt/sst-sco/conf/i18n.ini вида:

    [I18n.ru]
    wceNotAddedHint = Отсканированный товар надо положить в пакет
  3. Точно также меняются сообщения для других языков, при этом код языка в секции заменяется на соответствующий:

    Пример замены для en
    [I18n.en]
    wceNotAddedHint = Put scanned item in the bag

В сообщениях можно использовать \n для переноса текста на следующую строку.

В некоторых сообщениях есть подстановки вида %1, это может быть другой вложенный текст. Рекомендуется при изменении текста оставлять эти подстановки, иначе сообщение может потерять смысл. Подстановок в одном сообщении может быть несколько.

Если сообщение размещается в текстовом поле, то можно также применять HTML оформление.

Пример выделения наименования товара красным в окне взвешивания товара на контрольных весах
[I18n.ru]
wceHeftHint = 'Положите товар в пакет<br><span style="font-size:22px; color: red; font-weight: bold;">%1</span>'

Нельзя менять содержимое файлов в каталоге /opt/sst-sco/i18n

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

Для добавления нового языка нужно в каталоге /opt/sst-sco/i18n создать файл с кодом языка и расширением .msg. В этом файле необходимо перевести все сообщения которые есть в ru.msg
langName в .msg файлах это название языка для отображения покупателю в окне приветствия.
Код языка из названия файла используется в настройках customerLangs и cashierLang. Например, для языка с кодом fr создается файл fr.msg.

Перевод сообщений элементов чека

Можно добавить перевод сообщений для атрибутов чека. В качестве id сообщения устанавливается checkItem<Тип элемента чека><атрибут>, также можно указать checkItem<атрибут> , если атрибут задается только одному типу элемента чека. В текст переводимого сообщения дополнительно указывается подстановка %1.
Если значение атрибута не получено, переводимый текст для него не будет отображаться.
По умолчанию в строках чека текст предустановлен для карт, купонов, скидок и оплат, при их изменении необходимо настроить отображение элемента во всех режимах.

Пример установки переводимых сообщений для карты:

Пример перевода на ru и en
[I18n.ru]
checkItemBalance = Баланс: %1
checkItemCardName = Карта %1

[I18n.en]
checkItemBalance = Balance: %1
checkItemCardName = Card %1

Настройка режимов карты для корректного отображения перевода текста:

conf/check.ini
[Check.Forming.Card]
line1 = %(name, s)
line2 = %(balance, d)

[Check.Edit.Card]
line1 = %(name, s)
line2 = %(balance, d)

[Check.FaceMatchedVerify.Card]
line1 = %(name, s)
line2 = %(balance, d)

[Check.NotFoundVerify.Card]
line1 = %(name, s)
line2 = %(balance, d)

[WeightControl.ErrorDetail.Card]
line1 = %(name, s)

[Check.ReturnSelect.Card]
line1 = %(name, s)

[Check.ReturnPayment.Card]
line1 = %(name, s)

[Check.DiscInfo.Card]
line1 = %(name, s)

  • No labels