The Transtalo Translation System, or Transtalo for short, is a free automatic translator written in C++ and partly in C. It allows you to automatically translate documents, web sites, books... And the computer does it for you.
I know very well that computer translating can never be perfect. Translation is work of man. And it will stay so. But imagine. You get a text written in Italian. You know some words of that language, but you can't understand the text. If you translate it into your own language (or a supported language you can read), you will be able to understand the text, although the translation is not perfect.
It is also possible you want to send a letter to a friend, but you don't speak his language and vice versa. So you write your letter in your own language (or, if Transtalo doesn't provide support for it, another language you know), let Transtalo translate it and send it to your friend. He will be able to read your letter, although it again is not perfect.
Transtalo isn't meant as a perfect alternative to human translation. Human translation will always stay the best. But Transtalo will do its best to generate a translation as well as possible.
Reading this book, you should realize that not all features mentioned are implemented yet. For now, see it as a preview to the system.
The translation progress that Transtalo uses is somewhat different from the way used by Babelfish and others. If you aren't interested in the way texts are translated, you may want to skip this paragraph.
The Transtalo Translation System has different highlights. They are explained in this section.
Because the input and output parts are independently of each other implemented, we don't need to make modules for combinations of source and target languages, but only for the input and output parts for each language.
Maybe you find this somewhat complicated. I'll give an example. You want to translate a text from English to twenty other languages. If each combination of languages needs an own module, a module would be needed for English to French, English to Spanish, English to German, English to Japanese, English to Danish, and so on.
This wouldn't be a problem if we only had to translate from English. Then twenty modules would be needed. But imagine somebody from Portugal wants to do exactly the same, except that the source language is Portugese, not English. Then twenty new modules would be needed: from Portugese into English, Portugese into German...
Conclusion: this way it is impossible to have support for all languages. For example: for 70 languages to be fully supported, we would need 70 / 70 * 2 = 2450 (TODO: I don't think that this is correct) modules (we devide it by two because we don't need to have modules that translate into itselves (e.g. English into English, Danish into Danish)).
You could say: “But if can do everything via the English language, you don't need to have so much modules, do you?” That is true, but you know that automatic translation is never perfect. By the first translation (to English), the quality of the text makes a great step backwards. During the second translation, the same thing happens. Also, many information may gets lost.
Transtalo uses a very different approach. It haves different modules for the translation from and translation to parts, called input and output modules. The input module translates a sentence from the source language, and the output module translates it into the target language.
This way, we only need to have 140 modules to fully support 70 languages: 70 input modules and 70 output modules.
Transtalo has support for dialects. It depends on the specific module if it supports the desired dialect.
At this time, there is no single module that supports dialects.
It is possible that you see warnings and/or errors while translating. If a module sees something strange in the sentence it translates, it will output a message. If it leads to a bad translation, you are encouraged to report it.
Beside warnings and errors it is also possible to switch on information messages on. These give information on the translation progress, such as which phrase is currently translated. These messages are switched off by default, because in most cases you won't like to see them.
The translation modules are able to support translating idiom in a good way. In general this work is done by the output module.
It works in the following way. The output module checks the already parsed sentence on all known idiom that is specific for the original language. If it finds something, the output module will try to transform it so it turns in a normal sentence. After that, the sentence is translated normally with the difference that the idiom is (should be) translated well.
The Transtalo Translation System is not only a standalone program (the transtalo command), but comes also with a library interface. With this interface, you are able to make applications that use the library for its purposes.
You could e.g. make a graphical user interface for Transtalo, or a web interface. You are not limited to the simple transtalo command.