I've developed a web application. It needs to be translated to languages other than English in the future, and ideally the translators shouldn't need to know HTML/JS/C++ to provide the translation. The server side of the web application is written in C++ and the majority of the localised text is in the HTML files.
My question is: What approaches are there to translating web applications? -
I'm aware the question isn't strictly programming related but the solution may involve programming and it may require some software engineering.
The four most common types of translation are as follows: Literary translation. Professional translation. Technical Translation. Administrative translation.
Jakobson's On Linguistic Aspects of Translation (1959, 2000) describes three kinds of translation: intralingual (within one language, i.e. rewording or paraphrase), interlingual (between two languages), and intersemiotic (between sign systems).
Having some experience in localization of the applications, I can tell you the following:
The list is certainly not web-application specific.
First of all, keep every translatable unit of text in a uniquely identified div tag on each web page. Store the content in a database table that has the div id and the language id as the key and a text field for the content. Allow basic HTML markup, but no script or styling.
Have a page on your system to set language preferences, and store it on the user's profile, or in a long-lasting cookie in the user's browser.
Have your web application render the unique div or span tags from the database based on the language preference.
You can have a separate application that displays the default text (e.g. English) and then has a text area for a translator to type in a translation. Once it is typed in, that div tag can be rendered in the language of the user's choice.
Another big thing to watch for is that some content is layout-independent, such as paragraphs, blog postings, etc. Other content is very layout-dependent such as menu items, headers, etc. Also, some languages such as Hebrew and Arabic go from right to left instead of left to right. That may affect how the translated content is laid out. In such situations, you may want a separate layout template for those languages, and the selection of the template would be driven by the language preference.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With