Иногда хочется переводить не просто текст, а текст с разметкой. Например маны, html, latex, или что-нибудь в этом роде. Для таких случаев я сделал внешню примочку (препроцессор), который прожевывает форматированный текст, и подает его на вход "меркурия". Я привожу пример препроцессора для формата манов, а вы можете делать препроцессоры для своих форматов. Переводимый текст нужно выразить через 4 сущности. 1) непереводимые куски 2) переводимые предложения 3) непереводимые куски, которые являются членами предложения 4) непереводимые куски, которые не являются членами предложения (обычно это ключевые слова разметки) В принцине ключевые слова затрудняют перевод, но если их правильно завернуть в п3 то это резко уменьшит неопределенность (двусмысленность) текста, и облегчит перевод. Когда Вы переводите форматированный (обработанный препроцессором) текст, надо установить флаг "спецформат". Тогда "Правда" начинает воспринимать разметку текста, созданную препроцессором. Текст, обработанный препроцессором выглядит несколько причудливо, но все функции "Правды" сохраняются. При некоторой привычке стаким текстом можно работать также как с обычным. После перевода текст должен быть обработан препроцессором. Препроцессор один на все форматы. Четыре ключевые сущности описываются следующим образом: До препроцессора После препроцессора 1) SYNOPSYS \##{ SYNOPSYS } 2) I am a table. \@@{ I am a table. } 3) I. section \@= сущ { I. section } 4) .sp \#< { .sp } .ta \#> { .ta }