Passa al contenuto principale

Internationalization (i18n)

Multi-language support using ngx-translate.

Supported Languages​

CodeLanguageStatus
enEnglishβœ… Default
esSpanishβœ…
frFrenchβœ…
ruRussianβœ…
bgBulgarianβœ…
heHebrewβœ…
arArabicβœ… (RTL)
ptPortugueseβœ…
deGermanβœ…
nlDutchβœ…
zhChineseβœ…

Translation Files​

Located at apps/gauzy/src/assets/i18n/:

i18n/
β”œβ”€β”€ en.json # English (source)
β”œβ”€β”€ es.json # Spanish
β”œβ”€β”€ fr.json # French
β”œβ”€β”€ ru.json # Russian
└── ...

Usage​

In Templates​

<!-- Pipe -->
<h1>{{ 'DASHBOARD.TITLE' | translate }}</h1>

<!-- Directive -->
<p [translate]="'DASHBOARD.SUBTITLE'" [translateParams]="{ count: 5 }"></p>

In Components​

constructor(private translateService: TranslateService) {}

ngOnInit() {
const title = this.translateService.instant('DASHBOARD.TITLE');
}

Translation File Format​

{
"DASHBOARD": {
"TITLE": "Dashboard",
"SUBTITLE": "Welcome back, {{ name }}",
"WIDGETS": {
"TOTAL_HOURS": "Total Hours",
"PROJECTS": "Projects"
}
}
}

RTL Support​

Arabic and Hebrew enable RTL layout:

this.translateService.onLangChange.subscribe(({ lang }) => {
document.dir = ["ar", "he"].includes(lang) ? "rtl" : "ltr";
});

Configuration​

# Default language
AVAILABLE_LOCALES=en,es,fr,ru,bg
DEFAULT_LOCALE=en