Транслитирация NVDA.

Первая часть перевода руководства разработчика NVDA. Транслитирация чтения символов и знаков.

Мой вольный перевод, помогал яндекс переводчик статьи NVDA 2016.1 Developer Guide.

2. Транслитирация

Для поддержки разных языков/локалей, в nvda должны быть файлы переводов на нужный язык, также должны быть предоставлены другие специфичные данные для локали. Этот раздел включает в себя информацию только о формате пользовательских файлов переводов nvda необходимых для перевода. Другие элементы должны быть переведены, например интерфейс пользователя nvda и документации, однако они используют стандартные форматы файлов. Для полной документации о переводе nvda см. http://www.nvda-project.org/wiki/TranslatingNVDA

2.1. Описание символов

Иногда очень трудно или даже невозможно отличить один символ от другого. Например, два символа могут произноситься одинаково, даже если они на самом деле разные. вдля таких случаев поддерживается описание символов, которое описывает символ в уникальной последовательности.

описание символов поддерживается для языка пользователя в файле с именем

characterDescriptions.dic
в каталоге для локали. Это текстовый файл в кодировке UTF-8. Пустые строки и строки, начинающиеся с символа "#" игнорируются. Все остальные строки должны содержать символ, затем символ табуляции, затем одно или больше описаний, разделенных табами.

для примера:

# это комментарий, он игнорируется.
a	альфа
b	браво

Для русской локали смотрите файл

C:\Program Files\NVDA\locale\ru\characterDescriptions.dic

В большинстве случаев, символы в этом файле должны быть Единой строчной буквой. Предполагается, что символы будут иметь одинаковые описания, независимо от их регистра, так что символы верхнего регистра переводятся в Нижний регистр перед поиском их описания.

2.2. Произношение символов

Часто бывает полезно чтобы знаки препинания и другие символы произносились как слова при чтении текста, особенно при перемещении по символам. nvda позволяет получить информацию о произношении символ, которые будут предоставлены.

Это делается путем предоставления файла с именем symbols.dic в директории вашей локали. Это текстовый файл в кодировке UTF-8. Пустые строки и строки, начинающиеся с символа "#"игнорируются. Все локали неявно наследуют информацию о символе на английском языке, хотя любая информация может быть переопределена.

Файл содержит две секции.

2.2.1. Определение сложных символов

Первый раздел является необязательным и определяет регулярное выражение структуры для сложных символов. Сложные символы-это символы, которые не просто символ или последовательность символов, но взамен требуют более сложного правила. Примером может служить full stop (.) sentence ending в английском языке. "." используется для нескольких целей, поэтому требуется сложная проверка, чтобы определить, относится ли это к концу предложения или нет.

раздел сложного символа начинается со строки:

complexSymbols:

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

. sentence ending	(?<=[^\s.])\.(?=[\"')\s]|$)

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

2.2.2. Определение информации о символе

Второй раздел содержит информацию о том, когда и как произносить все символы. Он начинается со строки:

symbols:

Последующие строки должны содержать несколько полей, разделенных знаками табуляции. Обязательные поля только identifier и replacement. По умолчанию будет использоваться для пропущенных полей. Поля являются следующими:

  • identifier: идентификатор символа. В большинстве случаев это просто символ или символы сложного символа. Однако, он также может быть идентификатором сложного символа. Некоторые символы не могут быть введены в файл, для них используются следующие специальные последовательности:
    • \0: null
    • \t: tab
    • \n: перевод строки
    • \r: возврат каретки
    • \f: form feed
    • \#: символ # (необходимо потому, что # в начале строки обозначает комментарий)
  • replacement: Текст, который будет говорить NVDA вместо символа.
  • level: уровень, при котором говорится символ. уровень настраивается пользователем и определяет количество символов, которые должны быть сказаны. Это поле должно содержать один из уровней "none", "some", "most", "all" или "char", или "-" использовать по умолчанию. "char" означает, что символ должен произноситься при перемещении по символам. По умолчанию наследует значение или "all" если нечего наследовать.
  • preserve: Является ли сам этот символ должен быть сохранен, чтобы облегчить правильное произношение с помощью синтезатора. Например, символы, которые вызывают паузы или inflection (например знак запятой в английском языке) должны быть сохранены. Это поле должно иметь одно из следующих:
    • never: никогда не сохранять символ.
    • always: всегда сохранять символ.
    • norep: сохранить символ, только если он не заменяется, т. е. Пользователь имеет набор символов более низкого уровня, чем уровень этого символа.
    • -: использовать по умолчанию.
    По умолчанию наследует значение или "never" если нечего наследовать.

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

Вот несколько примеров:

(	left paren	most

Это означает что символ "(" надо говорить как "left paren" только когда установлен уровень most и выше; т.е. установлен уровень большинство или все.

,	comma	all	always

это означает что символ "," надо говорить как "comma" когда символ устанавливается уровень all, что символ сам по себе должен всегда быть сохранен.

. sentence ending	point	# . fin de phrase

Эта строка для французского файла symbols.dic. Это означает, что ". sentence ending" сложный символ должен быть как говорят "point". Уровень и сохранить не указаны, поэтому они будут взяты из английского языка. Отображаемое имя обеспечивается тем, что французские пользователи будут знать, что этот символ представляет.

посмотрите файл локали \en\symbols.dic Для английских определений, которые наследуются для всех локалей.

Если есть ошибки в переводе буду благодарен если сообщите в комментариях или через форму контактов.
Продолжение следует.

Поделитесь с друзьями

комментариев нет

Написать комментарий

Чтобы написать комментарий авторизуйтесь на сайте.