Главная » Просмотр файлов » Руководство программиста в Photon

Руководство программиста в Photon (953920), страница 39

Файл №953920 Руководство программиста в Photon (Руководство программиста в Photon) 39 страницаРуководство программиста в Photon (953920) страница 392013-09-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 39)

Рис. 14-2. Диалог "Language Selection"

  1. Выберите желаемый язык из списка поддерживаемых типов языковых файлов.

  2. Щёлкните на "Add".

  3. В этом месте Вам потребуется подтвердить свой выбор. Щёлкните на "Yes".

Диалог "Language Selection" закроется, и Вы теперь увидите вновь созданный файл перевода в списке доступных переводов.

Редактирование существующего файла перевода

Чтобы отредактировать файл перевода в списке переводов [список "Translactions" диалога "PhAB Language Editor" – прим. пер.]

  1. Щёлкните на нужном языке в списке.

  2. Щёлкните на клавише "Open".

Появится диалог "Text Translation Editor". Этот текстовый редактор отображает все текстовые строки, доступные для перевода, в текущей базе данных языков.

Перевод текста

Чтобы перевести текстовую строку:

  1. Щёлкните на текстовой строке, которую Вы хотите перевести. Выбранная текстовая строка отобразится в текстовой области в верхней части окна:

Default text принимаемый по умолчанию текст, привязанный к приложению

Translation текущий перевод (если имеется) для текстовой строки. Это область, используемая Вами для набора нового перевода.

  • Если Вам необходимо набрать символ, которого нет на Вашей клавиатуре, Вы можете использовать составную последовательность, описанную в "Составные последовательности Photon'а" в Приложении "Поддержка многоязычности Unicode".

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

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

  1. Сразу по изменении переводимой строки, выше области перевода появятся кнопки с зелёной птичкой и красным крестиком.

  2. Щёлкните на зелёной птичке, чтобы принять Ваши изменения (кнопкой быстрого доступа является <Ctrl> – <Enter>).

  3. Щёлкните на красном крестике, чтобы отменить Ваши изменения.

Повторите вышеприведенные шаги для всех строк, которые Вы хотите перевести. Когда закончите, щёлкните на кнопке "Save & Close".

Горячие клавиши

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

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

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

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

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

Ресурсы help'a

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

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

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

AlClearTranslation()

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

AlCloseDBase()

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

AlGetEntry()

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

AlGetSize()

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

AlOpenDBase()

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

AlReadTranslation()

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

AlSaveTranslation()

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

AlSetEntry()

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

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

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

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

Когда Вы создаёте файлы перевода, они помещаются в той же директории, что и файл Вашего приложения 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 может быть помещена в профайл входящего пользователя, так что приложение будет запускаться на языке, предопределённом каждым пользователем.

Распространение Вашего приложения

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

Эти файлы должны располагаться:

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

dir:dir:dir:dir

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

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

Если Вы хотите, чтобы каждый клиент мог переводить приложение, Вы также должны распространять с приложением:

  • языковый редактор (phablang), который можно разместить в директории /usr/bin/photon.

  • файл определения языков (languages.def), который должен быть установлен в той же директории, что и редактор.

  • базу данных языков приложеения (myapp.ldb).

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

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

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

Глава 15. Контекстно-чувствительная помощь

Эта глава описывает, как обеспечить в Вашем приложении контекстно-чувствительную помощь:

  • Создание текста помощи

  • Ссылки на темы помощи

  • Связывание помощи с виджетами

  • Доступ к помощи из Вашего кода

Создание текста помощи

Чтобы создать текст помощи для чтения Photon'овским просмотровщиком помощи, Вам потребуется два типа файлов:

  • сами файлы помощи

  • файлы с таблицами содержания

Файлы помощи

Файлы помощи пишутся на HTML и имеют расширение .html. Просмотровщик помощи поддерживает следующие тэги (с атрибутами):

Элемент

Тэги

Атрибуты

Комментарий

<!--комментарий-->

Документ

<html>...</html>

Заглавие

<head>...</head>

Название

<title>...</title>

Связь

<link>

href=usr, rel=string

Тело

<body>...</body>

Заголовок 1

<h1>...</h1>

id=string, align={left, center, right}

Заголовок 2

<h2>...</h2>

id=string, align={left, center, right}

Заголовок 3

<h3>...</h3>

id=string, align={left, center, right}

Заголовок 4

<h4>...</h4>

id=string, align={left, center, right}

Заголовок 5

<h5>...</h5>

id=string, align={left, center, right}

Заголовок 6

<h6>...</h6>

id=string, align={left, center, right}

Правило

<hr>

id=string

Параграф

<p>...[</p>]

id=string

Обрыв строки

<br>

id=string

Образ

<img>

src=url, align={top,middle,bottom}, alt=string, id=string (см. прим. внизу)

Анкер

<a>...</a>

href=url, name=string, id=string

Предварительное форматирование

<pre>...</pre>

id=string

Блок ссылки

<blockquote>...</ blockquote>

id=string

Адрес

<adress>...</adress>

id=string

Примечание

<note>...</note>

src=url, id=string

Список описания

<dl>...</dl>

compact, id=string

Термин

<dt>...[/dt>]

id=string

Описание

<dd>...[/dd>]

id=string

Упорядоченный список

<ol>...</ol>

id=string

Неупорядоченный список

<ul>...</ul>

id=string

Пункт списка

<li>...</li>

id=string

Визуальное выделение

<em>...</em>

id=string

Сильный

<strong>...</strong>

id=string

Код

<code>...</code>

Образец

<samp>...</samp>

id=string

Клавиатура

<kbd>...</kbd>

id=string

Переменная

<var>...</var>

id=string

Определение

<dfn>...</dfn>

id=string

Ссылка

<cite>...</cite>

id=string

Телетайп

<tt>...</tt>

id=string

Жирный

<b>...</b>

id=string

Наклонный

<i>...</i>

id=string

Подчёркнутый

<u>...</u>

id=string

Таблица

<table>...</table>

border, aling={left,center,right}, id=string

Шапка таблицы

<th>...</th>

aling={left,center,right}, id=string

Данные таблицы

<td>...[</td>]

aling={left,center,right}, id=string

Строка таблицы

<tr>...[</tr>]

id=string

Просмотровщик помощи использует виджеттт PtWebClient и поддерживает общие форматы образов Интернета. Он также поддерживает объекты стандарта HTML 3.2/ISO для символов, а также следующее:

Объект

Смысл

Отображается как:

&nbsp;

Фиксированный пробел

Пробел

&emsp;

Широкий пробел

Пробел

&ensp;

Узкий (нормальный) пробел

Пробел

&mdash;

Широкая черта (тире)

Штрих (–)

&ndash;

Короткая черта (дефис)

Штрих (–)

&ldquo;

Левые двойные кавычки

"

&rdquo;

Правые двойные кавычки

"

&lsquo;

Левые одинарные кавычки

'

&rsquo;

Правые одинарные кавычки

'

&trade;

Торговая марка

ТМ

Файлы таблиц содержания

Файлы таблиц содержания (Table-of-contents-TOC) определяют список продуктов, имеющих информационную помощь, и иерархию тем для каждого продукта. Эти файлы имеют расширение .toc. Все они располагаются в директории /usr/help/product. Каждый продукт имеет TOC-файл 1-го уровня и директорию с чем-либо ещё. Так, например, помощь по Photon'у включает:

Характеристики

Тип файла
Документ
Размер
7,62 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее