Core: New name for the library

Created on 23 Nov 2016  路  26Comments  路  Source: ngx-translate/core

This library has been named ng2-translate as an obvious reference to angular-translate (for Angular 1), but it is now growing as an independent project with new features.
Also Angular 2 is now called Angular (with Angular 1 being AngularJS), so the name ng2 is gonna be obsolete soon.

Which is why this library needs a new name. I've secured the npm username i18n, and I would like to release future versions on npm under @i18n/... (for example @i18n/core), so I'm thinking about renaming this angular-i18n or something like that, but I'm opened to other ideas (preferably with i18n in the name, but not necessary).

Why distribute this under a namespace on npm? Because I'd like to release new optional addons (new loaders, tools, ...) and I want everything under the same namespace (so that I can name these new libs the way I want).
Also this is following the @angular philosophy.

Do you guys have ideas or remarks on the subject ?

help wanted

Most helpful comment

For me personally, ngx-translate is the best choice.

All 26 comments

For npm, @i18n/ng-translate.

If I may make a remark though, I don't feel like it's a good idea to claim @i18n though. Reminds me of the standard package (don't even get me started!).

So, maybe @ng-translate/core?

Agree with @Meligy on the name of @i18n, maybe @ng-i18n/core instead?

Ahah yeah, maybe i18n is a bad idea.
That being said I might one day make this library in vanilla js with addons for different frameworks (I'm not doing that for now, but that's a possibility).

@ng-translate is out of the question because it's too much like angular-translate.
@ng-i18n is a better idea yes.

I'd agree with the sentiments re using the plain i18n name.

To make the name generic (not coupled to Angular) there are only a few obvious terms - "i18n", "translate" etc. - BUT another approach could be to come up with a related-yet-distinct name, like what Babel did when renaming from "6to5". Plenty of well-known libs have names with no direct reference to the task they perform - moment.js, reveal.js for example.

As a side note: remember this: https://github.com/michaelbromley/ng2-pagination/issues/9 ? ;)

Dropping ng-polyglot there (Something related to the Rosetta Stone would be even cooler 馃槃 )

Yeah :D
I'm all for a distinct name (like babel - which would be a cool name for this lib by the way), but I haven't been able to find one that I like... naming things is the one of the hardest thing to do :)

What about t7e ? i18n means internationalization with 18 the number of letters between i and n in this word (and l10n is the same thing for localization), t7e would be translate, with 7 the number of letters between t and e in the word translate.
It's short, good for a namespace on npm and for imports, and it's original (there is no other library by that name)

my bad, there is a library by that name, and it's about translations :D https://www.npmjs.com/package/t7e
damn it !

@ocombe how about angular-locale

@ocombe what about something composed with 'Rosetta' ?
angular-multilingual ?

EDIT: I just saw that @orgbx proposed the same idea, something with polyglot could be cool too.

Or translate translate to some other language and maybe you come up with a cool name :).

https://translate.google.com/#en/no/translate

Trad (short fort traduction = translation in french)?

Yeah, looks good for me!

I actually did that translate translate to all languages yesterday :)
How about transangular (for tranlate angular with a "transatlantic" connotation but has a bit of that expertsexchange issue 馃槤)?
There seems to be a library dot js for every frigging word I think of!

Let's make a little summary of the propositions that I like so far (namespace: lib name - module name):

  • @i18n/core: i18n [for Angular] - i18nModule
  • @t7e/core: Translate - TranslateModule
  • @???/core (@trad is taken): Trad - TradModule
  • @polyglot/core: Polyglot - PolyglotModule

My favorite so far are the two first

Your library is more a multilingual system than a "translate" system, so it look obvious that the most logical names in your selection are 'polyglot' and 'i18n'.
That would make more sense in my opinion.

How about "lingua" ? You'd get to be able to use it as the namespace later then too. (gentle highlight on the 'ng')

cref. wikitionary

Hey good idea, I like it :)

lingua++

So after a few weeks and 3 twitter polls, I've decided that the new name will either be ngx-i18n or ngx-translate.

Before we choose we need to think about how it will affect the directives / pipes as well.

With ngx-i18n the directive and pipe will be ngxI18n. I won't use i18n alone because of the official i18n directive. Also it's a pretty common name and that might cause problems. It's nice because it's short, but I really don't like how it comes out in camel-case, the i is hard to differenciate from the letter L...

With ngx-translate I can either change them to ngxTranslate or keep using the current translate. It's a bit more text to write, but it's closer (or similar) to the actual implementation, and it's easier to writer/remember I think. ngxTranslate might be a better choice in the end, because translate is an official (experimental) HTML5 attribute, and it's a problem if you want to use it along with this library. Also it causes issues with protractor because protractor expects a boolean value.

Any preference?

For me personally, ngx-translate is the best choice.

ngxTranslate should work just fine.

ngx-translate I'd say. Altho I don't dislike ngx-i18n as well 馃檪

ngx-translate... numbers are more difficult to type...

Man, I'm glad I found this thread :) I just spent about half an hour on Google trying to work out what the difference was between ng2-translate and ngx-translate.
In my defense, it's been a long day :)

I guess this kind of thing is becoming more common in libraries now with AngularJS -> Angular 2 -> Angular.

@pinpointpanda Yes, here are the official branding guidelines: https://angular.io/presskit.html

Was this page helpful?
0 / 5 - 0 ratings

Related issues

webprofusion-chrisc picture webprofusion-chrisc  路  4Comments

gmquiroga picture gmquiroga  路  3Comments

guysan picture guysan  路  4Comments

rbaumi picture rbaumi  路  4Comments

louisdoe picture louisdoe  路  3Comments