i18n support for any language

Based on elprincipe's pull request