The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
Making sure the horse is well and truly masticated:
Automated translation is fine when you need to read an email or a document written in language not your own. You can't trust it to express your thoughts correctly when authoring a document or an application, especially if your text contains industry-specific vocabulary.
It's very difficult to get a good translation for an application. We have translators experienced with our products, and we try to send our localized apps to our in-country service people for review. Even with all that we get occasional complains about the quality of our translations. Many customers use the English version of the app by preference.
I've noticed some really weird translations between Swedish and German, that simply didn't make sense.
That is, until I translated from German to English, and then to Swedish from English. Then I could see how it happened.
I've tested it several times since, it seems like Google translate is using English as an in between language.
Try to translate Norwegian "postoppkrav" to Swedish - it comes out as "TORSK".
"Postoppkrav" first goes to English - correctly - as "Charge On Delivery", commonly abbreviated COD. Then COD is translated as if it were the fish "cod" to Swedish, but with casing preserved.
Earlier, Google could translate English numerals to French up to forty seven, but forty eight was translated to 48 That is fixed now, though.
No, don't even try UI translation with any online translator. Ask the customer to provide the text. Having worked with websites in languages alien to me, I used to create UI in English so I understand and then translated it to required one. On the first demo people who knew the language were looking amused. I thought they are really happy with the UI. Turned out online translation meant something very different than what the text intended to convey. Luckily it was just first demo and I was waiting for translations from them.
Translate everything using Google Translate, then provide proofreading linguists with both copies: translated and English versions. Whenever the proofreaders get confused by Google's translation, they will be able to look up the original text and figure it out, even if they don't speak English very well themselves.
I would only use it as a means to check translation work from a third party.
The problem with translation is context - my father worked as a translator for 30 years and even back in the early 80's he was involved in machine translation trials which he pointed out were far worse than a human.
37 years later and we still don't have perfect machine translation.
One problem is that languages change over time and even within languages there are disputes over the correct use of the language.
Also within many languages there are different ways of phrasing the same sentence which convey a different level of education - init.
I find myself watching French films thinking "That's not particularly grammatically correct French they are speaking".
“That which can be asserted without evidence, can be dismissed without evidence.”
I had this experience working with a Chinese client.
We used google translate but it ended up funny to them.
Luckily they have SAP consultant that knows English language and we gave him all the lists in English words from our application to be translated into Chinese then put it into our resource file.
It's a lot of work because every time there are changes in GUI labels or messages, it gets translated again and update the resource file.
I have worked as a translator for ~15 years. I have translated UIs and have managed the translation of the UI in a large-scale product.
I can tell you with 100% certainty that you do not want to use Google to translate your UI if you want to appear even remotely professional. That is because - as has been pointed out - Google has no idea of context. Many words have a lot of different meanings. Just take the example of the word "right", which, depending on context, will have a lot of different translations.
There is no way that Google can decide on the right translation. It will simply choose one of the many options that are possible. So it's very possible that your users will see things like "Access Rights" as "Access legal entitlements" or something similar. As you can tell, that will only make your users question your sanity.
When we sent out the UI to be translated, we were always extremely wary of translation agencies who would send back 10s of thousands of strings without having a single question about context. That's when we knew they were poor and we switched to a new translation agency. It's a surprising truth that a lot of translation work is outsourced to Google translate, and then reviewed by a human (or in some cases not). These translations are by and large useless. In some cases we had to refuse payment because of lack of performance by the agency. We were perfectly capable of running the strings through Google ourselves; that's not what we were paying for.
This is a big issue because a UI will includes lots of single words (buttons, headers, menu options) that require translation, which means there is absolutely no context to go on if you look at just that one word. That's why you expect the translators to send you a long list of questions about those strings where multiple translations are possible depending on context. It's also why I documented many of the strings to clear up these questions a priori wherever possible.
You can test this yourself. Take a sentence, any sentence, and enter it into Google translate. Then translate it into a language of your choice and back into English. A lot of the time, it sort of makes sense, sometimes it makes perfect sense, sometimes it's gobbledygook. Some language pairs work better than others, some sentences work better than others.
Now enter the same sentence, and translate it from English to Spanish, then to French, then to Arabic, then to Chinese, and then back to English. You are guaranteed to get complete gibberish.
Next, do the same thing with a single word. You will very often not get the original English word when you do this. That's the red flag that tells you that Google is not translating context; it is looking through a list of possible translations, and choosing one "at random" (how else should it choose?).
I can give you millions of examples of this. Take "Anlage", which is German for, amongst others:
system, campus, areal, (email) attachment, (financial) investment, the act of adding a new record to a system and much more.
There is no way you can translate that correctly without being fluent in both German and English, and without asking questions the developers for context.
Google translate is OK for translating web pages in languages you cannot understand. You can get the general gist, and it's better than it used to be. It absolutely is not anywhere near professional standards and should not be used for anything that is "official".
Otherwise "Wagner's works" (i.e. compositions) become "Wagner's factories". "From" becomes "of". "on click" becomes "up click". And that's just one language pair.
A few years ago I had been told we needed a Spanish translation for the large application that I had written in English. I started out manually copying every English word or phrase from the app and pasting it into Google Translate and then pasting the Spanish translation back into the app. Using the time measured for each translation cycle I determined that given the number of translations needed that it was going to take weeks to complete this task!
Then I wrote some code that searched the entire source code for text and wrote it into a file. Then I wrote another program that went through the list of text and automatically retrieved translations from Google Translate and added it as another column in the file (csv). Then my app used the translation list to get the translations during run time. It looked great to me but when I gave the app to a Spanish speaker to evaluate I was told that the Spanish translations were very bad and sometimes silly/funny. My translation file was subsequently given to a translator. They had to change only about 10% of the Spanish. It made things a lot faster for the translator to have 90% of the text being already OK.
Unfortunately, Google (and Yahoo too I think) did something to block me from using their translator in this automated way. Too bad, it was very useful.
The problem I've come across is the structure of the languages with respect to variable substitution. You want to plunk somebody's name down in the middle of a sentence in English, but in some other language it's somewhere else.
That's the part where I think a human is still superior, if you can train the translator to produce the string with the variable embedded.
If you're o.k. with doing that yourself, I think Google Translate does a good first-cut job. In QA, your native (language X) speaker looks things over, suggests tweaks, at which point it should just be changing a resource file/database/however your strings are abstracted.
I'm a little late, but I just stumbled over a MSDN page that auto-translated a class description over to german. Unfortunately, the technical descriptions - some of which were written in short term - turned up mangled and confusing. But, worst of all, the translation also included the method names!
I don't know whether MSDN uses Google translate or it's own translation service, but I do not believe that a technical description can be easily translated automatically, unless it is very verbose. And, of course, you need to make sure that any symbols are excluded from translation...
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)