Super-simple translation support for Angular.JS
Key Features
Angular-gettext let's you focus on developing your application. Just write everything in English and annotate which parts should be translated. The tools do the rest.
Marking a string as translatable is as simple as adding an attribute:
<a href="/" translate>Home</a>
No need to maintain translation codes or magic values, that just causes headaches!
Translating your application doesn't mean you have to give up any of the good stuff that Angular.JS provides. Interpolation and everything else we love and are used to just keep on working:
<a href="/" translate>Hello {{name}}</a>
And with a minified footprint of less than 4kb, you don't have to worry about the size of your application. Add gzip compression and it amounts to less than 1.5kb.
Not every language works like English. Did you know that Polish uses three plural forms? Or that Irish uses five? No worries, angular-gettext handles all of this for you. Just provide a plural string where needed.
<span translate translate-n="msgCount" translate-plural="{{$count}} new messages">1 new message</span>
The span
above will always show a correctly pluralized message, even if the language uses wildly different pluralization rules.
A full list of supported languages (over 130) can be found here.
The widely used gettext format is used in angular-gettext (hence the name). This means you can use widely established translation tools like Poedit or Free PO editor. Or you can use an online translation platform like Pootle, Transifex, or Zanata.
The upside of this? Non-technical users can help out by translating. Or you can use professional translation services. Better results, faster.
Adding angular-gettext to your project only takes minutes. There's a sample application, a step-by-step guide and comprehensive documentation of all the tools you need.
Get started!Angular-gettext was written by Ruben Vermeersch and is licensed under the MIT license. You can get it on GitHub.