Already translated messages are now kept and merged with new messages.

Also, the code is slightly cleaner and more understandable.