Multi Language
1. Add content
// ----------------------------------------------------
// File: src/assets/i18n/de.json
// ----------------------------------------------------
{
"Analytical": "Analytisch",
"eCommerce": "E-Commerce",
"Chat": "Plaudern",
}
// ----------------------------------------------------
// File: src/assets/i18n/en.json
// ----------------------------------------------------
{
"Analytical": "Analytical",
"eCommerce": "eCommerce",
"Chat": "Chat",
}
// ----------------------------------------------------
// File: src/assets/i18n/es.json
// ----------------------------------------------------
{
"Analytical": "Analítica",
"eCommerce": "comércio eletrônico",
"Chat": "Bater papo",
}
// ----------------------------------------------------
// File: src/assets/i18n/fr.json
// ----------------------------------------------------
{
"Analytical": "Analytique",
"eCommerce": "commerce électronique",
"Chat": "Discuter",
}
2. Usage
// ----------------------------------------------------
// File: src/app/layouts/full/vertical/header/header.component.ts
// ----------------------------------------------------
public selectedLanguage: any = {
language: 'English',
code: 'en',
type: 'US',
icon: '/assets/images/flag/icon-flag-en.svg',
};
public languages: any[] = [
{
language: 'English',
code: 'en',
type: 'US',
icon: '/assets/images/flag/icon-flag-en.svg',
},
{
language: 'Español',
code: 'es',
icon: '/assets/images/flag/icon-flag-es.svg',
},
{
language: 'Français',
code: 'fr',
icon: '/assets/images/flag/icon-flag-fr.svg',
},
{
language: 'German',
code: 'de',
icon: '/assets/images/flag/icon-flag-de.svg',
},
];
constructor(
private translate: TranslateService
) {
translate.setDefaultLang('en');
}
changeLanguage(lang: any): void {
this.translate.use(lang.code);
this.selectedLanguage = lang;
}
// ----------------------------------------------------
// File: src/app/layouts/full/vertical/header/header.component.html
// ----------------------------------------------------
<button [matMenuTriggerFor]="flags" mat-icon-button class="m-r-5">
<img
[src]="selectedLanguage.icon"
class="rounded-circle object-cover icon-20"
/>
</button>
<mat-menu #flags="matMenu" class="cardWithShadow">
<button
mat-menu-item
*ngFor="let lang of languages"
(click)="changeLanguage(lang)"
>
<div class="d-flex align-items-center">
<img
[src]="lang.icon"
class="rounded-circle object-cover m-r-8 icon-20"
/>
<span class="mat-subtitle-1 f-s-14">{{ lang.language }}</span>
</div>
</button>
</mat-menu>
1. Add content
// ---------------------------------------------------- // File: src/assets/i18n/de.json // ---------------------------------------------------- { "Analytical": "Analytisch", "eCommerce": "E-Commerce", "Chat": "Plaudern", }
// ---------------------------------------------------- // File: src/assets/i18n/en.json // ---------------------------------------------------- { "Analytical": "Analytical", "eCommerce": "eCommerce", "Chat": "Chat", }
// ---------------------------------------------------- // File: src/assets/i18n/es.json // ---------------------------------------------------- { "Analytical": "Analítica", "eCommerce": "comércio eletrônico", "Chat": "Bater papo", }
// ---------------------------------------------------- // File: src/assets/i18n/fr.json // ---------------------------------------------------- { "Analytical": "Analytique", "eCommerce": "commerce électronique", "Chat": "Discuter", }
2. Usage
// ----------------------------------------------------
// File: src/app/layouts/full/vertical/header/header.component.ts
// ----------------------------------------------------
public selectedLanguage: any = {
language: 'English',
code: 'en',
type: 'US',
icon: '/assets/images/flag/icon-flag-en.svg',
};
public languages: any[] = [
{
language: 'English',
code: 'en',
type: 'US',
icon: '/assets/images/flag/icon-flag-en.svg',
},
{
language: 'Español',
code: 'es',
icon: '/assets/images/flag/icon-flag-es.svg',
},
{
language: 'Français',
code: 'fr',
icon: '/assets/images/flag/icon-flag-fr.svg',
},
{
language: 'German',
code: 'de',
icon: '/assets/images/flag/icon-flag-de.svg',
},
];
constructor(
private translate: TranslateService
) {
translate.setDefaultLang('en');
}
changeLanguage(lang: any): void {
this.translate.use(lang.code);
this.selectedLanguage = lang;
}
// ----------------------------------------------------
// File: src/app/layouts/full/vertical/header/header.component.html
// ----------------------------------------------------
<button [matMenuTriggerFor]="flags" mat-icon-button class="m-r-5">
<img
[src]="selectedLanguage.icon"
class="rounded-circle object-cover icon-20"
/>
</button>
<mat-menu #flags="matMenu" class="cardWithShadow">
<button
mat-menu-item
*ngFor="let lang of languages"
(click)="changeLanguage(lang)"
>
<div class="d-flex align-items-center">
<img
[src]="lang.icon"
class="rounded-circle object-cover m-r-8 icon-20"
/>
<span class="mat-subtitle-1 f-s-14">{{ lang.language }}</span>
</div>
</button>
</mat-menu>