Appearance
Multi Language β
Alpha Fusion uses @ngx-translate/core library to enable multi-language support in the project.
π Official Documentation β
For detailed setup and usage, visit the official ngx-translate documentation:
Alpha Fusion doesn't modify ngx-translate's functionality. Follow the official docs to get started.
βοΈ Initial Setup β
Translations are stored in JSON files under assets/i18n/. The setup is defined in app.config.ts:
ts
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { HttpClient } from '@angular/common/http';
export function HttpLoaderFactory(http: HttpClient): any {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
importProvidersFrom([
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient],
},
}),
])π§ Translating Navigation β
Alpha Fusion navigation supports runtime updates. You can replace navigation labels dynamically when the language changes:
ts
import { TranslateService } from '@ngx-translate/core';
constructor(private translate: TranslateService) {}
changeLanguage(lang: string) {
this.translate.use(lang);
// Optionally, update navigation items here
}Use this function from a language switcher component.
π Adding New Languages β
- Register locale in
app.config.ts:
ts
import localeFr from '@angular/common/locales/fr';
registerLocaleData(localeFr);- Create JSON translation files:
bash
assets/i18n/en.json
assets/i18n/de.json
assets/i18n/ru.json
assets/i18n/fr.json- Example translation content:
json
{
"DASHBOARDS": "Dashboards",
"PROJECT": "Project",
"ANALYTICS": "Analytics"
}ποΈ Removing Multi-Language Support β
If multi-language support is not needed:
Remove TranslateModule from
app.config.ts.Delete
assets/i18n/.Remove
@ngx-translate/coreand@ngx-translate/http-loaderfrompackage.jsonand run:
bash
npm installπ‘ Notes β
Current locale is retrieved from SettingsService.currentLocale via Angularβs LOCALE_ID.
Switch languages at runtime:
ts
this.translate.use(lang);β Now your Alpha Fusion project can support multiple languages with a clean and maintainable setup.