Localización (i18n)
Actualmente, Ignite UI for Angular incluye cadenas de recursos para los siguientes idiomas y escrituras: alemán, búlgaro, checo, danés, español, francés, holandés, húngaro, italiano, japonés, noruego, polaco, portugués, rumano, sueco. , turco, chino tradicional (zh-Hant) y chino simplificado (zh-Hans). Estos están disponibles a través del paquete igniteui-angular-i18n
, excepto el inglés, que viene como localización predeterminada en igniteui-angular
.
Con solo unas pocas líneas de código, los usuarios pueden cambiar fácilmente las cadenas de localización en Ignite UI for Angular.
Angular Localization Example
Nota: El hindi (HI) incluido en el ejemplo tiene solo fines ilustrativos y para enfatizar la posibilidad de pasar un objeto de localización personalizado. En este ejemplo, contiene solo varias cadenas localizadas para el resumen. Más detalles en la sección Utilizar recursos propios localizados a continuación.
Usage
Load localized resources from npm package
Puede localizar una aplicación en uno de los idiomas disponibles en el paquete igniteui-angular-i18n
de esta manera:
Instale el paquete ejecutando npm install igniteui-angular-i18n --save-dev
Importe las cadenas de recursos para el idioma deseado y cambie las cadenas para una instancia de componente, utilizando la entrada resourceStrings
del componente.
<igx-grid [data]="data" [resourceStrings]="resourcesDE" [locale]="locale">
<igx-grid-toolbar>
<igx-grid-toolbar-title>German Locale</igx-grid-toolbar-title>
</igx-grid-toolbar>
<igx-column field="ProductName" header="Product Name" [groupable]="true">
</igx-column>
<igx-column field="QuantityPerUnit" header="Quantity Per Unit" [groupable]="true">
</igx-column>
<igx-column field="UnitPrice" header="Unit Price" [sortable]="true" [hasSummary]="true"
[dataType]="'currency'" [groupable]="true">
</igx-column>
<igx-column field="OrderDate" header="Order Date" [dataType]="'date'" [groupable]="true">
</igx-column>
<igx-column field="Discontinued" header="Discontinued" [dataType]="'boolean'" [groupable]="true">
</igx-column>
</igx-grid>
import { Component } from '@angular/core';
import { registerLocaleData } from '@angular/common';
import localeDE from '@angular/common/locales/de';
import { GridResourceStringsDE } from 'igniteui-angular-i18n';
@Component({
selector: 'app-locale',
styleUrls: ['./locale.component.scss'],
templateUrl: 'locale.component.html'
})
export class LocaleComponent implements OnInit {
public resourcesDE = GridResourceStringsDE;
public locale = 'DE';
public data: any[];
constructor() {
registerLocaleData(localeDE);
}
}
Alternativamente, puede llamar a la función changei18n()
pasando el objeto de recurso correspondiente para cambiar la localización de todos los componentes.
// app.component.ts
import { Component, OnInit } from '@angular/core';
import { changei18n } from "igniteui-angular";
import { IgxResourceStringsJA } from 'igniteui-angular-i18n';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
public ngOnInit(): void {
changei18n(IgxResourceStringsJA);
}
}
Nota: ¡Siéntete libre de contribuir al paquete
igniteui-angular-i18n
con más idiomas!
Utilize own localized resources
La función changei18n
espera un objeto IResourceStrings
. Si el idioma que desea usar no está disponible en el paquete igniteui-angular-i18n
, o simplemente desea cambiar una cadena en particular, puede pasar un objeto personalizado que contenga sus recursos de cadena para el idioma y los componentes que necesita. Esto cambiará el i18n global para los componentes igniteui-angular.
// app.component.ts
import { Component, OnInit } from '@angular/core';
import { changei18n, IGridResourceStrings } from "igniteui-angular";
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
public partialCustomHindi: IGridResourceStrings;
public ngOnInit(): void {
this.partialCustomHindi = {
igx_grid_summary_count: 'गणना',
igx_grid_summary_min: 'न्यून',
igx_grid_summary_max: 'अधिक',
igx_grid_summary_sum: 'योग',
igx_grid_summary_average: 'औसत'
};
// This will change all grid application instances' strings to the newly provided ones
changei18n(this.partialCustomHindi);
}
}
Alternativamente, puede obtener todas las cadenas de recursos de componentes disponibles actualmente. Hay objetos para cada componente que contienen cadenas localizables. Los valores se pueden reemplazar para localizarlos y luego el objeto se puede pasar a la función changei18n
, como parámetro.
// app.component.ts
import { Component, OnInit } from '@angular/core';
import { changei18n, GridResourceStringsEN, TimePickerResourceStringsEN } from "igniteui-angular";
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
public ngOnInit(): void {
const currentRS = {
...GridResourceStringsEN,
...TimePickerResourceStringsEN
};
for (const key of Object.keys(currentRS)) {
currentRS[key] = '[Localized] '+ currentRS[key];
}
changei18n(currentRS);
}
}
Localize specific strings for a specific instance of a component
Si solo se debe localizar una única instancia igx-grid
, hay una manera. Se debe utilizar la propiedad resourceStrings
y se debe establecer en una nueva instancia del tipo IGridResourceStrings
.
const newGridRes: IGridResourceStrings = {
igx_grid_filter: '[Localized]Filter',
igx_grid_filter_row_close: '[Localized]Close'
}
this.grid.resourceStrings = newGridRes;
Available resource strings
- IgxResourceStringsBG
- IgxResourceStringsCS
- IgxResourceStringsDA
- IgxResourceStringsDE
- IgxResourceStringsES
- IgxResourceStringsFR
- IgxResourceStringsHU
- IgxResourceStringsIT
- IgxResourceStringsJA
- IgxResourceStringsKO
- IgxResourceStringsNB
- IgxResourceStringsNL
- IgxResourceStringsPL
- IgxResourceStringsPT
- IgxResourceStringsRO
- IgxResourceStringsSV
- IgxResourceStringsTR
- IgxResourceStringsZHHANS
- IgxResourceStringsZHHANT
Additional Resources
Nuestra comunidad es activa y siempre da la bienvenida a nuevas ideas.
- Ignite UI for Angular foros angulares
- Ignite UI for Angular GitHub
- Ignite UI for Angular ResourceStrings