crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QHP Converter, Небольшая программа для преобразования qhp-файлов в ini
iReset
  опции профиля:
сообщение 25.12.2012, 14:12
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 178
Регистрация: 6.6.2012
Пользователь №: 3414

Спасибо сказали: 23 раз(а)




Репутация:   2  


Написал небольшую программку, которая позволит нам переводить qhp-файлы в OmegaT.
Написана без использования XML-парсеров, чисто на регулярных выражениях.
Общая суть простая - преобразует qhp-файл в ini-файл, который понимает OmegaT. Далее мы этот файл можем перевести и, снова используя qhpconverter, преобразовать в обратно в qhp-файл.
Описание из readme-файла
QHP Converter

Консольная программа для преобразования qhp-файлов.
Не имеет параметров командной строки.
При получении через командную строку файлов с расширением qhp
преобразовывает их в файлы формата ini, которые понимает OmegaT.
ВНИМАНИЕ: программа перезаписывает существующие файлы без запросов.

Правила преобразования:
1. Содержимое элемента namespace преобразуется в строку с ключом namespace.
Например, строка

<namespace>com.trolltech.qt.474</namespace>

будет преобразована в

# <namespace>
namespace=ru.trolltech.qt.474
#</namespace>

2. Теги name и title элементов преобразуются в строки, у которых ключи имеют
соответствующее название. Например, строки

<section ref="index.html" title="Qt Reference Documentation">
<section ref="qwidget.html" title="QWidget Class Reference">

будут преобразованы в

# <section ref="index.html"
title=Qt Reference Documentation
#>
# <section ref="qwidget.html"
title=QWidget Class Reference
#>

При этом у параметров убираются кавычки, а коды "&lt;", "&gt;", "&amp;",
"&quot;" заменяются на символы "<", ">", """, "&".
3. Все остальные строки комментируются символом "#".

В полученном ini-файле можно переводить незакомментированные строки. Программа
OmegaT понимает этот формат.

Переведённый ini-файл необходимо передать через командную строку программе
qhpconverter. Она преобразует его в qhp-файл, сохранив все оформление исходного
файла. При преобразовании из ini в qhp-файл в начало секции <filterSection>
добавляется элемент

<filterAttribute>ru</filterAttribute>

Формат файла ini выбран вместо txt потому, что:
1. хотелось сохранить ненужную для перевода информацию в оригинальном виде -
это позволяют делать комментарии;
2. в формате txt могут возникать проблемы, связанные с распознаванием абзацев.

Сборка
--------
При разработке использовались следующие программные продукты:
- MinGW 4.6.2
- Qt library 4.6.3
- Qt Creator 2.5.0

Думаю, она поможет нам в переводе qhp-файлов.

Есть одна тонкость, по которой мне нужна консультация. Сейчас я сделал так, что в сегменты для перевода попадают как названия разделов, так и ключевые слова. В уже переведённых qhp-файлах я не увидел перевода ключевых слов. Это сделано намеренно?

Исходники и бинарники доступны тут.

Сообщение отредактировал iReset - 25.12.2012, 14:16
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- iReset   QHP Converter   25.12.2012, 14:12


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 16:12