PaWord

Layouthåndtering af Word-dokumenter i PaTrans


1 Oversættelse af Word-dokumenter

Maskinoversættelsessystemet PaTrans er oprindeligt konstrueret til at kunne foretage oversættelser af dokumenter i WordPerfect-format. Udviklingen på tekstbehandlingsområdet har skabt et behov for at udvide PaTrans-systemets funktionalitet således, at Word2000-dokumenter også kan håndteres. Denne udvidelse blev implementeret af CST i løbet af 2000.

Inden et Word-dokument kan oversættes af selve oversættelseskernen i PaTrans, skal det konverteres til formatet SGML*, som er det format, som kernen forventer. SGML* er en implementering af standarden SGML (Standardised General Mark-up Language). Pointen ved SGML*-formatet er, at den egentlige tekst er adskilt fra oplysningerne om dokumentets layout således, at PaTrans kun oversætter den egentlige tekst og lader layout-information være urørt. Layout-information er i teksten markeret på en særlig måde vha. såkaldte tags (markører), der fortæller PaTrans, at de ikke skal oversættes, men derimod forblive uændrede i den oversatte tekst. For at undgå at "opbevare" al layout-information i selve dokumentet, oprettes der ved konverteringen til SGML*-format en hjælpefil betegnet skelet-filen, som indeholder de detaljerede informationer om dokumentets layout. I hoveddokumentets tags medtages så blot numre, der refererer til de fuldstændige informationer i hjælpefilen.

Konverteringen af Word2000 til SGML* foregår i 2 trin. Først gemmes dokumentet fra Word2000 i Words HTML/XML-format (Web-side-format). Dette format er en blanding af ren XML (selve teksten) og HTML (filens hoved m.v.), men i det følgende skrives for nemheds skyld blot XML. Da XML er en international standard, som må formodes at blive ret udbredt, er denne konvertering valgt som første skridt på vejen fra Word-format til SGML*. Ved konverteringen dannes en separat fil med sidehoveder og sidefødder, hvis dokumentet indeholder sådanne.

Til den videre konvertering fra XML til SGML* benyttes det af CST udviklede konverteringsprogram, PaWord. PaWord er blevet integreret med den udviklede redigeringsplatform, PaEd, som arbejder med dokumenter i SGML*-format.

På nedenstående figur er hele processen med de involverede filer (i bokse) og programmer resumeret:



Word
2000
PaEd +
PaWord
PaTrans PaEd +
PaWord
Word
2000
Doku-
ment
HTML/
XML
SGML* SGML* HTML/
XML
Doku-
ment
Side-
hoved/
fod
Skelet Skelet Side-
hoved/
fod
Engelsk Engelsk Engelsk Dansk Dansk Dansk

Nedenfor er der til illustration vist, hvorledes XML- og SGML*-formaterne ser ud for en kort sætning med forskelligt layout (fed og sænket skrift). Bemærk at formatet af Word-sætningen er den, som fremstår for en bruger af Word (i modsætning til det interne), samt at selve teksten er understreget i XML- og SGML*-formaterne for lettere at kunne skelne den fra tags.

Word (fremvisningsformat):
The olefin preferably is a C4-C30 olefin.

XML-format:
<p class=MsoPlainText><span lang=EN-GB style='mso-fareast-font-family:
"MS Mincho"'>The<b> olefin</b> preferably is a C</span><sub><span lang=EN-GB
style='font-size:9.0pt;mso-bidi-font-size:10.0pt;mso-fareast-font-family:
"MS Mincho"'>4</span></sub><span lang=EN-GB style='mso-fareast-font-family:
"MS Mincho"'>-C</span><sub><span lang=EN-GB style='font-size:9.0pt;mso-bidi-font-size:10.0pt;mso-fareast-font-family:"MS Mincho"'>30</span></sub><span lang=EN-GB style='mso-fareast-font-family:"MS Mincho"'> olefin.<o:p></o:p></span></p>

SGML*-format:
<MRK ID=@22/>
<NEW><STL ID=@23/>The <STL ID=@24/>olefin <STL ID=@25/>preferably is a
<STL ID=@26/>C&dw4-C&dw3&dw0 <STL ID=@27/>olefin.
<MRK ID=@28/>

Som det ses, er SGML*-formatet langt mere kompakt end XML-formatet, hvilket også er nødvendigt, da SGML*-filer normalt skal redigeres.

2 PaWord: Layout-bevarende XML til SGML*-konvertering

XML og SGML* er begge læsbare text-formater, hvor selve teksten er suppleret med oplysninger om layoutet, der skal benyttes ved fremvisning (f.eks. i Word). SGML*-formatet er anderledes opbygget og mere simpelt end XML, men kan stort set udtrykke de samme layout-informationer. PaWords opgave består i at konvertere layoutmarkeringerne mellem XML og SGML* og tilbage igen.

De layout-informationer, der skal konverteres, er f.eks. font, skriftstørrelse, kursivering, tabulering og fodnoter. Endvidere er PaWord udformet således, at det kan håndtere Word-dokumenter, der delvist er blevet oversat vha. produktet TRADOS Translators' Workbench.

Input til PaWord er som nævnt en HTML/XML-version af det oprindelige dokument evt. suppleret med en HTML/XML-fil med dokumentets sidehoveder og sidefødder. Outputtet består af to filer: Selve dokumentet i SGML*-format med tags samt skeletfilen, der indeholder de fuldstændige layout-informationer i XML-format.

En af de store udfordringer i konverteringen ligger i, at de to formater XML og SGML* benytter forskellige principper for at beskrive layout. Til beskrivelse af layout tillader XML indlejrede strukturer vha. start- og slut-tags, således at layoutet er summen af alle åbne tags. SGML* derimod benytter en flad struktur udelukkende ved brug af enkeltstående tags, hvor et enkelt tag bærer al information om layoutet for den efterfølgende tekst indtil det næste tag.

En anden stor udfordring består i, at XML-slut-tags ikke altid kan repræsenteres vha. SGML*-tags og derfor slettes ved konverteringen til SGML*. Ved tilbagekonverteringen til XML skal slettede slut-tags værdi og placering derfor beregnes ud fra den øvrige tag-struktur. Dette sikrer bevarelse af det oprindelige layout i outputdokumentet - også i de tilfælde, hvor tekstdele ombyttes p.g.a. forskellig ordstilling i kilde- og målsprog.

Et tredje problem, som løsningen har taget højde for, er at SGML*-tags aldrig må stå midt i et ord, men altid lige før et ord. Det gør det svært at håndtere layoutskift midt i et ord, som f.eks. sænket skrift i "C4-C30".


Blå linie
Emil Holms Kanal 2, bygn. 22, 3., DK-2300 KBH S
Tlf: +45 35329090
Valid XHTML 1.0 Strict