Angular Internationalization I18N vs NgxTranslate

Context

Our company is building a new application using the last version of Angular. Is a complete solution (various modules) that will be installed in our customers. Today, we give support for two main languages: french (Canada) and english (Canada). We would like to give support for more languages soon, as french (France).

Question

I’m creating a POC about internationalization and I have several doubts about the correct approach to follow. Should we use the standalone Angular I18N Internationalization library or should we use NgxTranslate library? (It looks like this project was +- abandoned because the creator is woking now in Angular team, so we don’t know the future of this library)

What we need

  1. User can change his language at any moment;
  2. User chan choose between English (Canada), French (Canada) and other languages without the need to reload all application (do a page refresh will not be a problem)
  3. Would be great that developer could change the language too, without the need to serve the application again with a different –configuration=language parameter each time. It looks that default I18N Angular library allow just one language per time;
  4. Dynamic translation: We’ll have some components that will need to charge the translation after some selection. For example: we have one select and one grid. User will select an entity (we can have 50 different entities). When user selects this entity, the Grid will load all data and the columns for this grid will came from API. At this moment we should be able to access a file with the translation for each column for this entity;

So, wich one is the best approach? Should we use Standalone AngularI18N or NgxTranslate library that we don’t know if will have the community support? Can standalone AngularI18N be used for our needs (like point 4)? Thank you very much.

Source: Angular Questions