Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
76
Добавлен:
02.04.2015
Размер:
8.79 Mб
Скачать
          1. Горячие клавиши

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

При переводе текстовой строки переводчик может также изменить клавишу быстрого доступа. Если клавиша, используемая в качестве горячей, не является функциональной (т.е. код клавиши меньше 0хF000), PhAB автоматически изменит горячую клавишу, чтобы соответствовать клавише быстрого доступа.

Например, предположим, Ваше приложение имеет кнопку с надписью "Cancel". Вы устанавливаете в С значение ресурса Pt_ARG_ACCEL_KEY, и монтируете <Alt> – <C> для вызова ответной реакции Pt_CB_HOTKEY.

Когда Вы генерируете базу данных языков, Вы обнаружите, что она включает надпись на кнопке и её клавишу быстрого доступа. Если Вы переводите приложение на французский, надпись на кнопке станет "Annuler", так что горячая клавиша <Atl> – <C> больше не подходит. Просто переведите Pt_ARG_ACCEL_KEY на А, и горячей клавишей автоматически станет <Alt> – <A>, когда Вы запустите приложение на французском.

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

          1. Ресурсы help'a

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

          1. Функции перевода

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

AlClearTranslation()

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

AlCloseDBase()

Закрывает базу данных языков или сообщений

AlGetEntry()

Получает вход из базы данных языков или сообщений

AlGetSize()

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

AlOpenDBase()

Загружает базу данных языков или сообщений

AlReadTranslation()

Читает файл перевода в базе данных

AlSaveTranslation()

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

AlSetEntry()

Устанавливает переведенную стоку для входа базы данных

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

    1. Запуск Вашего приложения на исполнение

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

Когда Вы создаёте файлы перевода, они помещаются в той же директории, что и файл Вашего приложения abapp.dfn. Вы можете рассматривать это как рабочие версии файлов. Когда Вы запускаете Ваше приложение из PhAB'а, это является используемыми Вами версиями.

Когда Вы запускаете Ваше приложение вне PhAB, оно просматривает файлы перевода в следующем порядке:

  1. В директориях, перечисленных в переменной окружения ABLPATH, если она задана. Этот список имеет вид: dir:dir:dir:dir.

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

  1. В той же директории, где располагается исполняемый файл, если переменная окружения ABLPATH не определена.

Для того, чтобы API PhAB знал, какой файл перевода Вы хотите использовать, Вы должны установить значение переменной ABLANG в одно из следующих значений:

Язык

Значение

Бельгийский французский

fr_Be

Канадский английский

en_CA

Канадский французский

fr_CA

Датский

da_DK

Голландский

nl_NL

Французский

fr_FR

Немецкий

de_DE

Итальянский

it_IT

Японский

ja_JP

Норвежский

no_NO

Польский

pl_PL

Португальский

pt_PT

Словацкий

sk_SK

Испанский

es_ES

Шведский

se_SE

Швейцарский французский

fr_CH

Швейцарский немецкий

de_CH

Английский английский

en_GB

Американский английский

en_US

 Этот список приведен на момент написания этого документа, но с тех пор мог быть обновлён. Чтобы получить последнюю версию, см. файл /usr/photon/appbuilder/languages.def

[Хе-хе. В безнадёжных поисках ru_RU – Прим.пер.]

Например, чтобы запустить приложение на немецком (как выражаются, в Германии), Вы должны сделать следующее:

$ export ABLANG=de_DE

$ myapplication

 Приложение ищет наилучшую возможность совпадения. Например, если расширение языка задано как fr_CA, поиск выполняется следующим образом:

  1. Точное совпадение (например, fr_CA);

  2. Совпадение в основном (например, fr);

  3. Совпадение по групповому символу (например, fr*).

Если никакого перевода не найдено, используется оригинальный текст приложения.

Команда export может быть помещена в профайл входящего пользователя, так что приложение будет запускаться на языке, предопределённом каждым пользователем.

Соседние файлы в папке Литература_1