crossplatform.ru

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

> Алгоритм адаптации Qt документации...
ViGOur
  опции профиля:
сообщение 20.12.2007, 14:32
Сообщение #1


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Возьмем к примеру класс QString, по идее основная масса исправлений приходится на описание функций.

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

Разметка примерно такая:
Английский вариант
<h3 class="fn"><a name="QString"></a>QString::QString ()</h3>
<p>Constructs a null string. Null strings are also empty.</p>
<p>See also <a href="qstring.php#isEmpty">isEmpty</a>().</p>

<h3 class="fn"><a name="QString-2"></a>QString::QString ( const <a href="qchar.php">QChar</a> * <i>unicode</i>, int <i>size</i> )</h3>
<p>Constructs a string initialized with the first <i>size</i> characters of the <a href="qchar.php">QChar</a> array <i>unicode</i>.</p>
<p><a href="qstring.php">QString</a> makes a deep copy of the string data.</p>

<h3 class="fn"><a name="QString-3"></a>QString::QString ( <a href="qchar.php">QChar</a> <i>ch</i> )</h3>
<p>Constructs a string of size 1 containing the character <i>ch</i>.</p>


Русский вариант:
<h3 class="fn"><a name="QString"></a>QString::QString ()</h3>
<p>Создает нулевую строку. Нулевая строка всегда пустая.</p>
<p>См. также <a href="qstring.php#isEmpty">isEmpty</a>().</p>

<h3 class="fn"><a name="QString-2"></a>QString::QString ( const <a href="qchar.php">QChar</a> * <i>unicode</i>, int <i>size</i> )</h3>
<p>Создает строку инициализированную первыми <i>size</i> символов массива <a href="qchar.php">QChar</a> <i>unicode</i>.</p>
<p><a href="qstring.html">QString</a> производит глубокое копирование информации строки.</p>

<h3 class="fn"><a name="QString-3"></a>QString::QString ( <a href="qchar.php">QChar</a> <i>ch</i> )</h3>
<p>Создает строку длиной 1 содержащую символ <i>ch</i>.</p>


Сообщение отредактировал ViGOur - 20.12.2007, 14:34
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ViGOur
  опции профиля:
сообщение 5.1.2008, 1:39
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Цитата(Tonal @ 4.1.2008, 23:54) *
Что, если в новой версии поменялось описание функции, или, например её аргументы?
Тогда, при пакетной конвертации оно неглядя замениться старым вариантом, что не есть хорошо.
Это ерунда, так как по английскому и русскому оригиналам делается некий словарик, который загоняется в QMap, ключем является английское предложение, значением русское, если ключ и значение одинаковы, то это или название функции или не переведенный фрагмент, следовательно не учитывается. После чего читается новый документ, который нужно перевести, и при парсинге идет сверка с полученным ранее "словариком", и в случае совпадения ключей замена их английского значения на русское.

Но в данном подходе тоже есть но, так как кажется в описании класса QString было некое изменение, что-то вроде:
было: variable - descriprion
стало: variable is descriprion
в следствии чего не переведенный фрагмент. :(

Подумываю правильным ли будет в этом случае разбивать на слова и если будет например 90% сходство английского варинта (ключей), то менять его на русский.

Честно говоря не подумал о XML парсинге попробую, спасибо... :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
nick shaforostoff
  опции профиля:
сообщение 12.1.2008, 17:56
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 50
Регистрация: 6.12.2007
Из: киев
Пользователь №: 35

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




Репутация:   0  


Цитата
было: variable - descriprion
стало: variable is descriprion
в следствии чего не переведенный фрагмент. :(

это решаетмся тулчейном gettext + kaider ( http://techbase.kde.org/index.php?title=Pr...Projects/KAider )
см. man msgmerge, особенно опцию --previous
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 21.12.2024, 8:19