When a user translates content from one language to another, the GUI should gently constrain him so that he is not tempted to write original new content while doing translation. This ends up screwing things up big time for the translation tracking infrastructure upon which the CLWE depends. But in my experience, people who translate on wiki sites are also people who author original content. And they often switch to an author role while in the process of translating. I have done this many times without realizing it, eventhough I was aware of the issue with translation tracking.
The attached Excel spreadsheet is a mockup of what this GUI might look like. Essentially, it constrains the user to only edit lines on the target language side, for which the corresponding line in the source language has changed.
Note that this is not bullet-proof. Indeed, the user could still make original changes on those lines that need translation. But at least, it minimizes opportunities for this to happen, and also, the constrained format sends a clear message to the translator that he is supposed to only translate, not create original content.
Note also that this assumes we can make a correspondence between lines in source and target language pages. Not clear how hard that is to do, but I think it should be feasible in most cases.
Scenarios of use
Here are various scenarios that look at how this kind of GUI could help, preserve sentence alignment, and where and how automated sentence alignment algorithms could come in handy.
The scenarios are described using a table form. Colums correspond to English, French and Spanish pages. Rows correspond to particular actions done by users.
- Cr(Si-Sk): means an original creation of sentences i through k.
- Mod(Si-Sk): means an original modification of the same.
- Del(Si-Sk): means deletion of the same.
- Tr(Si-Sk): means translation of sentences i through k, or translation of modifications made to those sentences..
- Tr(Si-Sk, <ES): same as above, except that translation is from the Spanish version. If second argument is not provided, it means translation is from the language of the first column.
- View: Means the page is viewed by a reader.
Simple case: Initial page creation and translation in one language
| EN | FR | System Behaviour | Description
|
| Cr(s1-s100) | | System displays usual page creation dialog. | An EN author creates a page in English, which has 100 sentences.
|
| | Tr(s1-s30) | System displays constrained side-by-side translation GUI. English sentences pasted to the FR side, all of them open for editing. | A FR translator partly translate the page from EN to FR.
|
| | View | System displays a warning at the top, saying the page is under translation. Also, the system could either display the FR page with the untranslated EN sentences left in English, or it could replace them by a Machine Translation into French. The system can tell which sentences have been translated and which haven't, because the untranslated sentences are the same on the FR and EN side (not bullet proof... there could be EN sentence that need to be left as is in the FR side) | A FR reader views the FR page.
|
| | Tr(s31-s100) | System displays EN and FR sentences side by side. All sentences on FR side are still open for editing, in case the translator wants to revisit the wording of sentences for which he already created a draft translation. BUT the sentences on the FR side that are still identical to the corresponding sentences in the EN side (i.e. have not been touched since pasting) are highlighted somehow so that the translator can easily find sentences for which not even a draft has been produced. When the translator hits Save, the system knows that all the EN sentences pasted on the FR side have been touched. So it should suspect that the translation may be complete. If the translator did not check the translation done checkbox, it should nag him and ask him if he is done with this translation. | FR translator finishes the translatioon.
|
| | | |
Case 2: Source page modified while being translated in single language
| EN | FR | System Behaviour | Description
|
| Cr(s1-s100) | | System displays usual page creation dialog. | An EN author creates a page in English, which has 100 sentences.
|
| | Tr(s1-s30) | System displays constrained side-by-side translation dialog. English sentences pasted to the FR side, all of them open for editing. | A FR translator translates the page.
|
| Mod(s5), Del(s10), Cr(s20b) | | System displays usual page editing dialog. | EN author modifies sentence 5, deletes sentence 10, and adds a new sentence betwen sentence 20 and 21.
|
| | View | At this point, the system knows that s10 has been deleted in EN. Should it remove that sentence from the display (but keep the underlying FR file as is), or should it keep displaying it in the FR version until a FR translator explicitly agrees with the English deletion? Maybe it's OK for the system to not display s10 if the FR translator has not started translating it? What about S5? Should it display the FR version of S5 that the FR translator translated? Or should it display the modified EN s5 pasted into FR, or a machine translation version of it? What about 20b? Should the system display that new sentence in English, or a a MT version of it? Or no 20b at all? | FR reader views the page
|
| | Tr(s30-s100) | System displays constrained side-by-side translation GUI. All sentences on FR side are still open for editing, in case the translator wants to revisit the wording of sentences for which he already created a draft translation. BUT the sentences on the FR side that are still identical to the corresponding sentences in the EN side (i.e. have not been touched since pasting) are highlighted somehow so that the translator can easily find sentences for which not even a draft has been produced. The question though is this. Should the EN side display the s5, s10 and s20b lines that have changed in EN since FR translation began? And if the answer to this is yes, then what should it show for those lines on the FR side? In particular, for S5, should the system display the new EN version in the FR side, hence erasing the earlier FR translation that the user created? Probably not, because the EN modification to s5 may be very minor and it's better to start from the FR translation produced earlier. What about S10. Should that one be deleted from the FR side, or should we just show something indicating that this sentence has been deleted on the EN side, and asking the translator to confirm that he wants to delete it from FR also? What about 20b? Should the EN version of this new sentence be pasted on the FR side? | A FR translator translates the rest of the initial page, but does not yet worry about the new changes to S5, S10 and S20b. Another question is whether or not the system should nag the translator when he hits Save. If he did bring s1-s100 in synch with the first version of EN, maybe this is a good opportunity to create a synch point by asking the user if the two sides are in line (assuming of course, that we don't display the more recent changes that have happened in EN since).
|
| | Tr({s5, S10, S20b}) | At this point, the system DEFINITELY should display he changes that have happened in EN since translation of original page started. See | FR translator translate the changes that have been made to EN since translation of orginal EN page started. But how should they be displayed? In particular, for S5, should the system display the new EN version in the FR side, hence erasing the earlier FR translation that the user created? Probably not, because the EN modification to s5 may be very minor and it's better to start from the FR translation produced earlier. What about S10? Should that one be deleted from the FR side, or should we just show something indicating that this sentence has been deleted on the EN side, and asking the translator to confirm that he wants to delete it from FR also? Probably the later. What about 20b? Should the EN version of this new sentence be pasted on the FR side? At this point, probably yes. And when the use clicks yes, the system should definitely nag the him to see if the two versions are now in synch (assuming that all FR sentences that needed translation have been touched).
|
| | | |