In order to add more languages to a multilingual hypertext document, you needn't know anything about MLHT programming. You just fetch the translatable text source, replace line by line with your language and mail it back to the MLHT author. Some examples and answers to frequently asked questions are given here.
The author uses the MLHT command
mlht-import-langtxt for placing your translation into the MLHT structure. This command inserts your lines in those places where it finds the corresponding lines of the translatable source text. I.e. your translation's line with the identifier XYZ: at the beginning renders a line in the source text which begins with the same identifier.
What can the translator do wrong
Use an editor that can wrap lines without inserting linebreaks. Alternatively you can translate lines as text blocks which are separated by an empty line and may contain linebreaks. But do it consistently and check even more carefully that your translation has the same number of blocks as the original has lines, and that they correspond to each other, and then convert them back to the needed form with regular expressions or ask the author to do that.
Hypertext syntax markers
The source texts that translators work with are simple but not quite free of hypertext markers. They are mainly the above-mentioned three markers that start with the % sign. The translator needn't know their exact meaning, he just must know that the MLHT variable
var and the MLHT block marker
fun: should remain untouched and while the enclosed
text must be translated, and that all three kinds of placeholders should mark the same components of text meaning in the translation as in the original. Of course they must be copied correctly. Any misspelling or failure to close a bracket will force the MLHT author to debug the translated text before he can successfully incorporate it.
When you want to know what effect the hypertext markers and variables have on the final appearance of the document, take a look at the source language's hypertext with your favorite browser. Keep it ready for consultation whenever you are translating an MLHT text.
File Coding System
MLHT usually reads and writes texts in UTF-8 coding. Many users prefer to use another coding system, such as latin-1 or euc-jp. In such cases, you can use a converter such as, under GNU/Linux/Unix systems, recode:
$ recode utf-8..latin-1 swpat.fr.txt $ edit swpat.fr.txt $ recode latin-1..utf-8 swpat.fr.txt
Send too many lines
The file should contain only those lines that were actually improved. Others should be omitted or deleted. There is always a certain risk that an already-improved text is overwritten by an older version, and this risk should be minimised.
Lines commented out
All lines on which you have worked should have the initial # removed. Otherwise they will be treated as comments and not inserted into the object text.
Failed Importing due to Wrong Variable Settings at Page Bottom
You can send to a mail processor which will insert your texts into the system and recompile concerned object texts. For that purpose it is important that you correctly fill in the tags at the bottom, including your login and password as well as the correct target language (txtlang). If lang is wrong, an English page may be overwritten with Portuguese text, or perhaps nothing will be written at all, due to entry validation. Not that the lines at the bottom must begin with a '#' and end with a ';'
The subject line of the mail should contain the words
coding: utf-8. It is also possible to specify another coding system, such as iso-8859-1. In that case, conversion to utf-8 will be done locally. The
coding: utf-8 tag that is found at the bottom of the text may not be changed.