Refactored and fixes issue with cart messaging

@tsanko made some refactoring changes and also fixed the issue with success message not shown. Please take a look and pull in.
If the key is not present or if the value is empty in the translations file, the filter returns the key passed in.