Some things are just impossible to translate without losing Much of the intended meaning, even with a human translator. Although this has nothing to do specifically with Japanese, but for translations in general.
Take for example sentences that has a play on words in the sentence. Apparently when we translate it into another language the words are different and couldn't be "played" on.
Also, if we consider translation as a function y = f(x), perfect translation is simply an impossible task. Since computers are logical machines, for each x, you have a result y. Come back tomorrow, for each x, you still have the same result y (as long as f remains unchanged that is).
However words often have multiple meanings/interpretations. So to be perfect, f(x) in effect should give us (y1, y2, y3.. yn)
For example, let's try translating "What a big tree! Shrill!" from squirrel-speak to english.
These are the rules for squirrel speak:
big can mean either tall (big height), or broad (big width), or leafy (big shade)
tree is a word used to refer to anything that provides shelter and/or food (it's something like home but it's not exactly home in english). In times of war tree is also used to refer to the place to store weapons/provisions (alike armoury, but armoury is only used to store weapons)
shrill is a word used to show enthusiasm, or anger, or shock.
So if we want a so-called perfect translation, the simple sentence:
"What a big tree! Shrill!"
will be converted into
"What a (tall / broad / leafy) (place that provides shelter* and/or food* / place that stores* weapons*/provisions in times of war*). (wow / cool / damn / ahhh) !"
*now we have to define what "shelter", "food", "stores", "weapons", "war" means but let's stop the madness here
Needless to say, this kind of translation although possible for computers, gets impractical and unwieldy really quickly.
So basically, the computer can understand all the options (tall / broad / leafy) but there's no way it could choose the correct one. Two different squirrels saying the same sentence, would have meant different things altogether but how is the computer to know that?
(unless we have a way to specify the intended meaning everytime the computer comes across a word with more than one meaning. this is possible but defeats the purpose of translation since a majority of word has more than one meaning and if we do so, translating an essay would require too much human effort because we would have to specify the intended meaning for over 90% of the words)
As a real example, the input 「僕が知っている人は誰も来なかった。」 can mean either:
"Of the people I know, none came."
"People came but, there weren't any of the people I know."
Another real example: by examining the input 「主人公の猫」, the computer can understand that the input has two meanings:
The protagonist's cat.
The protagonist cat (the cat, which is the protagnoist).
But the translation "the (protagonist cat / protagonist's cat)" is going to be unwieldy as we have demonstrated above. So since the computer can't provide both meanings, it simply got to choose one and risk being wrong.