

Easy i18n in Angular Apps - PascalPrecht
http://pascalprecht.github.io/angular-translate/

======
lelf
What's obsession with those TITLE, PARAGRAPH_ABOUT_FOO,
SECOND_SENTENSE_FROM_TO_RIGHT_WHERE_THEY_KILLED_THE_RABBIT stupidity?

translate("This is a paragraph.")

PS and in the real world, please don't translate language names with each
language change

~~~
unfug
Off hand I can think of a few reasons for using the mapping object as they did
in angular-translate:

\- It may make sense to translate the same English sentence to something
slightly different in different contexts in German.

\- JSLint/JSHint should be able to check for usages on an identifier like
TITLE, PARAGRAPH_ABOUT_FOO, etc. easier than comparing strings (you'd have to
build something custom for that).

\- Brevity. If you have the same long string of text written twice it may be
useful to have a shorter identifier for it.

I agree with not translating language names though, in the real world that
doesn't really make sense.

~~~
lelf
> _It may make sense to translate the same English sentence to something
> slightly different in different contexts in German_

Then obviously you add context. It all has been solved for xx years
[http://www.gnu.org/software/gettext/manual/html_node/Context...](http://www.gnu.org/software/gettext/manual/html_node/Contexts.html#Contexts)

> _JSLint /JSHint should be able to check for usages on an identifier like
> TITLE, PARAGRAPH_ABOUT_FOO, etc. easier than comparing strings (you'd have
> to build something custom for that)_

That's not difficult if you absolutely need it

> Brevity. If you have the same long string of text written twice it may be
> useful to have a shorter identifier for it

You don't need them twice. Add attribute telling: this text can be translated.
That's all.

------
ch0wn
angular-translate is really a pleasure to use. I used it in two separate
smallish apps and wouldn't hesitate to do it again. Very compact, easy API and
great docs.

