views:

65

answers:

3

Is it possible to do it by one person? The reason I ask is, would doing this require the programmer to know each language like his own mother tongue?

Or is there someone else who designs how the conversion should occur from 1 language to another?

Btw I am talking about languages like English, French, Russian, Italian, Chinese, etc.

+3  A: 

Machine translation is, even when you employ a whole stab of engineers, scientists, linguistics etc it's very, very hard, and it's not pretty in the end anyway.. No, it's not a one man job, and it's a hardly a job for anyone today either. Check out google translate, and give it a spin. The translations are horrible.. :)

There are a lot of things to take into account, for example:

  • How to order the building blocks of the language (verbs, nouns, adjectives etc.)
  • Synonyms
  • Slang

And there are lots and lots of more differences. And on top of that you have languages that aren't even related to each other.

I'm not from a country where we have english as our native language (we speak Swedish) so I have a hard time trying to translate what I remember from my grammar lessons in my native language. (And my native language's grammar is a bit different from english grammar.. :) )

Onkelborg
Yeah I was asking the one man thing as in, if you want to write a English to French, do you have to know both languages perfectly. Because it would be very hard to find programmers that covers all the bases in multiple languages perfectly. But if it's a team of engineers, scientists, linguistics etc, then I can imagine.
Joan Venge
No, even that team will fail. Google translate has a lot of such teams, and they don't do a very good job when it comes to translation.. And yes, you really, really has to know all languages you want to translate between, and you have to know them very, very well. Most likely you will fail on your own, native language's grammar.. And fail even harder on the rest ;)
Onkelborg
+1  A: 

It is not easy to do it by one person alone. Parsing the language itself will be difficult since human language are notoriously ambiguous and highly dependent on context.

I would also assume that you would need to know how each language works to be able to translate it from one language to the other. All you can do is create a very basic translation framework with interfaces. The actual implementation of the translation would be language-dependent and you would need extensive knowledge of each language's grammar and vocabulary.

Even then, the results won't be perfect (check out BabelFish and Google Translate).

If you're interesting in the topic in general, you can start with the following Wikipedia articles:

Vivin Paliath
Thanks, btw sorry had to delete the other question because I posted it accidentally due to captcha. I kind of thought software would be able to do anything, so surprised we aren't going anywhere with translators.
Joan Venge
@Joan No worries. Nope, software can't do *everything* ;)
Vivin Paliath
Well software can do nearly anything, but we still have to develop that software. And since we haven't created that clever algorithm then.. :) AI is probably the way to go, but that's a research field too
Onkelborg
Got it, I thought that's a limitation in our software development techniques and methodologies.
Joan Venge
@Vivin Paliath: I think you forgot at the end ... yet. ;-)
qstarin
@qstarin This is true :)
Vivin Paliath
+1  A: 

Google is working hard by analyzing lots of already translated documents to find recurrent translations and use them whenever possible. That means it reuses human translations and just reproduce it. If you need a translation software, you could think of reusing public google translation APIs, but of course you need a web access.

These APIs are improving every day thanks to user feedback allowing to suggest better translation and thanks to new human translated documents analyzed by google.

Benoit Thiery
Yeah isn't it possible to break down a document so converting things like "can't" to "can not", etc i.e. to their full forms and then use a huge lookup table to find existing translations? I mean their numbers will not be so huge, isn't it?
Joan Venge
The problem is that language A want "not" before "can", but language B want "not" after "can". It's not just a simple replace, it's much, much more. This has been a research field for many, many years now, and many, many people of different expertise has been working on the problem. You just has to accept that this problem isn't as easy as you would like it to be. It's the absolute opposite - it's really, really hard. I'd suggest you do something easier, like building a moon rocket ;)
Onkelborg

related questions