Добавление языка IVR
Этот перевод выполнен автоматически и ещё не вычитан. Читать английскую версию
IVR-приложения говорят на каждом языке, набор голосовых подсказок и правила речи которого установлены на коммутаторе. Для нового языка нужны три вещи: переведённые фразы, правила озвучивания чисел, длительностей и дат на этом языке и записи. Эта страница предназначена для переводчика и разработчика, которые их готовят; результат устанавливает служба поддержки.
Как это работает
Заголовок раздела «Как это работает»- Каждая фраза, которую может произнести приложение, перечислена в файле перевода в формате gettext PO: английский текст и пустой перевод.
- Фразы с переменными частями содержат теги подстановки; языковой модуль превращает числа, длительности и даты в слова языка.
- Диктор записывает каждую фразу и каждое слово, которое использует языковой модуль. Записи образуют набор голосовых подсказок языка.
- После установки язык можно выбрать в разделе Type & Languages (тип и языки) приложения и как IVR-язык аккаунта.
Для переводчика
Заголовок раздела «Для переводчика»Вы получаете PO-файл; редактируйте его в PO-редакторе, например Poedit. Переведите каждую фразу и сохраните каждый тег подстановки; тег можно перемещать внутри предложения.
| Тег | Заменяется на |
|---|---|
%n |
Число |
%[H]n |
Порядковое числительное: “first”, “twenty third” |
%[D]n |
Цифры по одной: 1234 → “one two three four” |
%d |
Длительность |
%D |
Дата и время |
%s |
Текст |
Имена в скобках, как в %(number)n или %(duration)d, - это внутренние имена переменных: никогда их не переводите. Например, "You have %(number)n new messages" на украинском становится "У вас %(number)n нових повідомлень".
Фраза "For English press %n" особая: переведите её на ваш язык как “For
Правила языка
Заголовок раздела «Правила языка»Языковому модулю нужны следующие правила вместе со словами, которые использует каждое правило:
| Правило | Что описать | Пример на английском |
|---|---|---|
| Числа | Как составляются числа, включая падежи и роды | 12345 → “twelve thousand three hundred forty five”; слова от one до nineteen, десятки, hundred, thousand, million, minus |
| Порядковые числительные | Порядковые формы | “first”, “second”, “twenty seventh” |
| Последовательности цифр | Особые прочтения | “one oh two” для 102, “double oh” для 00 |
| Длительности | Единицы со всеми формами множественного числа | “one hour twenty four minutes and thirty seconds” |
| Даты и время | Порядок, месяцы, дни недели, относительные дни | “October twenty first, two fifty five PM”; “today”, “yesterday”, “tomorrow” |
Для языков без форм множественного числа нужна одна форма каждого слова; для языков с несколькими формами множественного числа нужны все.
Для разработчика
Заголовок раздела «Для разработчика»- Создайте PO-файл языка из шаблона фраз IVR-сервиса его вспомогательным скриптом
mergepo.sh <code>, передайте его переводчику и скомпилируйте результат с помощьюcompilepo.sh <code>. - Напишите языковой модуль, названный двухбуквенным кодом в верхнем регистре, например
UK.py, в каталоге синтеза текста IVR-сервиса. Возьмите за основу существующий модуль, реализуйтеsayNumber(),sayDigits(),sayDuration()иsayDatetime(), оберните каждое слово в_phrase_noop(), объявите кодировку во второй строке и зарегистрируйте модуль в__init__.pyпакета. Модуль не должен сам вызывать синтезатор. - Запишите каждую фразу и слово как аудио 8 kHz signed linear и поместите их в каталог подсказок языка; вспомогательный скрипт
prompt_utils.pyпроверяет набор на отсутствующие подсказки. - Отправьте PO-файл, модуль и набор подсказок в службу поддержки для установки.