
Security News
ESLint Adds Official Support for Linting HTML
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
@ngx-translate/core
Advanced tools
@ngx-translate/core is an internationalization (i18n) library for Angular applications. It allows developers to easily translate their applications into different languages and manage translations dynamically.
Basic Translation
This feature allows you to set a default language and use a specific language for translations. The 'translate' pipe is used in the template to translate keys.
import { TranslateService } from '@ngx-translate/core';
constructor(private translate: TranslateService) {
this.translate.setDefaultLang('en');
this.translate.use('en');
}
// In your template
// <p>{{ 'HELLO' | translate }}</p>
Dynamic Language Switching
This feature allows users to switch languages dynamically at runtime. The 'use' method of TranslateService is used to change the language.
import { TranslateService } from '@ngx-translate/core';
constructor(private translate: TranslateService) {}
switchLanguage(language: string) {
this.translate.use(language);
}
// In your template
// <button (click)="switchLanguage('en')">English</button>
// <button (click)="switchLanguage('fr')">French</button>
Loading Translations from JSON Files
This feature allows you to load translations from external JSON files. The TranslateHttpLoader is used to load translation files from a server.
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { HttpClient } from '@angular/common/http';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http);
}
@NgModule({
imports: [
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
})
]
})
export class AppModule {}
Translation Parameters
This feature allows you to pass parameters to translation strings. The parameters can be used to dynamically insert values into the translated text.
import { TranslateService } from '@ngx-translate/core';
constructor(private translate: TranslateService) {}
// In your template
// <p>{{ 'HELLO_USER' | translate: { value: 'John' } }}</p>
ngx-i18n is another Angular library for internationalization. It provides similar functionalities to @ngx-translate/core, such as dynamic language switching and loading translations from external files. However, it may have a different API and configuration options.
angular-translate is a popular AngularJS library for internationalization. It offers features like asynchronous loading of translation files, dynamic language switching, and translation interpolation. While it is designed for AngularJS, it has inspired many features in @ngx-translate/core.
i18next is a powerful internationalization framework for JavaScript applications. It supports various frameworks, including Angular, and offers features like language detection, pluralization, and context-based translations. It is more versatile and can be used outside of Angular as well.
@ngx-translate/core
is the primary internationalization (i18n) library for Angular
applications, allowing developers to easily implement and manage multiple languages
in their projects. With @ngx-translate/core
, you can dynamically switch languages
within the app, seamlessly adapting content to suit various locales.
FAQs
Translation library (i18n) for Angular
The npm package @ngx-translate/core receives a total of 649,807 weekly downloads. As such, @ngx-translate/core popularity was classified as popular.
We found that @ngx-translate/core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.