diff --git a/live-editing/configs/BaseConfig-AngularLocale.ts b/live-editing/configs/BaseConfig-AngularLocale.ts new file mode 100644 index 000000000..8d3c33f9a --- /dev/null +++ b/live-editing/configs/BaseConfig-AngularLocale.ts @@ -0,0 +1,12 @@ +export const BaseAppAngularLocaleConfig = { + modules: [ + { 'module': 'BrowserModule', 'import': '@angular/platform-browser' }, + { 'module': 'FormsModule', 'import': '@angular/forms' }, + { 'module': 'HammerModule', 'import': '@angular/platform-browser' }, + { 'module': 'HammerModule', 'import': '@angular/platform-browser' }, + ], + providers: [ + { 'provider': 'provideAnimations()', 'import': '@angular/platform-browser/animations' } + ], + router: false +} diff --git a/live-editing/configs/BaseConfig.ts b/live-editing/configs/BaseConfig.ts index 0aa9662bb..7301a5a6f 100644 --- a/live-editing/configs/BaseConfig.ts +++ b/live-editing/configs/BaseConfig.ts @@ -2,10 +2,12 @@ export const BaseAppConfig = { modules: [ { 'module': 'BrowserModule', 'import': '@angular/platform-browser' }, { 'module': 'FormsModule', 'import': '@angular/forms' }, - { 'module': 'HammerModule', 'import': '@angular/platform-browser' } + { 'module': 'HammerModule', 'import': '@angular/platform-browser' }, + { 'module': 'HammerModule', 'import': '@angular/platform-browser' }, ], providers: [ - { 'provider': 'provideAnimations()', 'import': '@angular/platform-browser/animations' } + { 'provider': 'provideAnimations()', 'import': '@angular/platform-browser/animations' }, + { 'provider': 'provideIgniteIntl()', 'import': 'igniteui-angular' } ], routesConfig: { router: false diff --git a/live-editing/configs/LocalizationConfigGenerator.ts b/live-editing/configs/LocalizationConfigGenerator.ts index 36473537e..e41ad95ee 100644 --- a/live-editing/configs/LocalizationConfigGenerator.ts +++ b/live-editing/configs/LocalizationConfigGenerator.ts @@ -1,10 +1,7 @@ -import { IgxGridModule } from 'igniteui-angular/grids/grid'; -import { IgxIconModule } from 'igniteui-angular/icon'; -import { IgxInputGroupModule } from 'igniteui-angular/input-group'; -import { IgxTimePickerModule } from 'igniteui-angular/time-picker'; -import { IgxSelectModule } from 'igniteui-angular/select'; -import {AppModuleConfig, Config, IConfigGenerator} from 'igniteui-live-editing' -import { BaseAppConfig } from './BaseConfig';; +import { Config, IConfigGenerator} from 'igniteui-live-editing' +import { BaseAppConfig } from './BaseConfig'; +import { BaseAppAngularLocaleConfig } from './BaseConfig-AngularLocale'; + export class LocalizationConfigGenerator implements IConfigGenerator { public generateConfigs(): Config[] { const configs = new Array(); @@ -14,7 +11,7 @@ export class LocalizationConfigGenerator implements IConfigGenerator { component: 'LocalizationSample1Component', additionalFiles: ['/src/app/data/nwindData.ts'], additionalDependencies: ['igniteui-angular-i18n'], - appConfig: BaseAppConfig + appConfig: BaseAppAngularLocaleConfig })); // localization sample 2 @@ -22,7 +19,7 @@ export class LocalizationConfigGenerator implements IConfigGenerator { component: 'LocalizationSample2Component', additionalFiles: ['/src/app/data/nwindData.ts'], additionalDependencies: ['igniteui-angular-i18n'], - appConfig: BaseAppConfig + appConfig: BaseAppAngularLocaleConfig })); // localization sample 3 @@ -30,7 +27,7 @@ export class LocalizationConfigGenerator implements IConfigGenerator { component: 'LocalizationSample3Component', additionalFiles: ['/src/app/data/nwindData.ts'], additionalDependencies: ['igniteui-angular-i18n'], - appConfig: BaseAppConfig + appConfig: BaseAppAngularLocaleConfig })); // localization all resources diff --git a/package-lock.json b/package-lock.json index 6dd74fac2..68d218f64 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,13 +36,14 @@ "file-saver": "^2.0.2", "fuse.js": "^7.1.0", "hammerjs": "^2.0.8", - "igniteui-angular": "^21.0.0", + "igniteui-angular": "^21.1.0-alpha.1", "igniteui-angular-charts": "^20.2.0", "igniteui-angular-core": "^20.2.0", "igniteui-angular-extras": "^21.0.0", - "igniteui-angular-i18n": "^21.0.0", + "igniteui-angular-i18n": "^21.1.0-alpha.1", "igniteui-dockmanager": "^1.17.0", "igniteui-grid-lite": "^0.0.1", + "igniteui-i18n-resources": "^1.0.2", "igniteui-live-editing": "^3.3.0", "igniteui-webcomponents": "^6.2.0", "marked": "^16.3.0", @@ -12844,13 +12845,14 @@ "license": "BSD-3-Clause" }, "node_modules/igniteui-angular": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/igniteui-angular/-/igniteui-angular-21.0.0.tgz", - "integrity": "sha512-zhZ3MOtA4TQYbjTyud8pgt/XdhsF+jlto2oACQobFjhzHcqRJoqX2wTUs40e8B8Xh29GPJuSEI1Wmy7/Hlr1Tw==", + "version": "21.1.0-alpha.1", + "resolved": "https://registry.npmjs.org/igniteui-angular/-/igniteui-angular-21.1.0-alpha.1.tgz", + "integrity": "sha512-peJu+P3j+Qru5D2PxiB0F0iiAYLgjTBlQAGnIaJiDEUtCdQedhe1hvq1w7Zp9/qWyvz00/S3R8W16jUDu086vg==", "license": "SEE LICENSE IN LICENSE", "dependencies": { "@igniteui/material-icons-extended": "^3.1.0", "fflate": "^0.8.2", + "igniteui-i18n-core": "^1.0.2", "igniteui-theming": "^24.0.0", "igniteui-trial-watermark": "^3.1.0", "jspdf": "^3.0.2", @@ -12940,10 +12942,14 @@ } }, "node_modules/igniteui-angular-i18n": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/igniteui-angular-i18n/-/igniteui-angular-i18n-21.0.0.tgz", - "integrity": "sha512-igdWBkvbJefCP1jXysyiKHebiznd6Wdnh5Ictn1ml0QgL231gjVtiqrEz0NoM6c+qwNNVEj8+SU4MwaRWb4Pgg==", - "license": "MIT" + "version": "21.1.0-alpha.1", + "resolved": "https://registry.npmjs.org/igniteui-angular-i18n/-/igniteui-angular-i18n-21.1.0-alpha.1.tgz", + "integrity": "sha512-vfi7LUHkkv21amUDc047e3SAEJiHX2uoKQoh45bDs4DP1kMoy2dV708yZIuwbuFXOpMFv1iJYmSigIc85sCcVQ==", + "license": "MIT", + "dependencies": { + "igniteui-i18n-core": "^1.0.2", + "igniteui-i18n-resources": "^1.0.2" + } }, "node_modules/igniteui-dockmanager": { "version": "1.18.1", @@ -12990,6 +12996,29 @@ "node": ">=20" } }, + "node_modules/igniteui-i18n-core": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/igniteui-i18n-core/-/igniteui-i18n-core-1.0.2.tgz", + "integrity": "sha512-51szNhKG/3ckWkJKV6npAG50Fvi11a5e/lcKF9+unV9PlOpEm3tsf90s//8fXB9r28HSObgSRCVfKD+hfoNx7w==", + "license": "MIT", + "peerDependencies": { + "igniteui-i18n-resources": "1.0.2" + }, + "peerDependenciesMeta": { + "igniteui-i18n-resources": { + "optional": true + } + } + }, + "node_modules/igniteui-i18n-resources": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/igniteui-i18n-resources/-/igniteui-i18n-resources-1.0.2.tgz", + "integrity": "sha512-SrgV+fyo4cBSgaXgsfx/c/T4fTGuYGND6lUMGN2mvLxQHjg5o6m49vpHG/etq2IrzYUyywp9ABQ9iYugtEF9+Q==", + "license": "MIT", + "dependencies": { + "igniteui-i18n-core": "1.0.2" + } + }, "node_modules/igniteui-live-editing": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/igniteui-live-editing/-/igniteui-live-editing-3.3.0.tgz", diff --git a/package.json b/package.json index 3a09b58b9..26bbecd68 100644 --- a/package.json +++ b/package.json @@ -73,13 +73,14 @@ "file-saver": "^2.0.2", "fuse.js": "^7.1.0", "hammerjs": "^2.0.8", - "igniteui-angular": "^21.0.0", + "igniteui-angular": "^21.1.0-alpha.1", "igniteui-angular-charts": "^20.2.0", "igniteui-angular-core": "^20.2.0", "igniteui-angular-extras": "^21.0.0", - "igniteui-angular-i18n": "^21.0.0", + "igniteui-angular-i18n": "^21.1.0-alpha.1", "igniteui-dockmanager": "^1.17.0", "igniteui-grid-lite": "^0.0.1", + "igniteui-i18n-resources": "^1.0.2", "igniteui-live-editing": "^3.3.0", "igniteui-webcomponents": "^6.2.0", "marked": "^16.3.0", diff --git a/src/app/app.config.ts b/src/app/app.config.ts index 91581045b..c62bcd074 100644 --- a/src/app/app.config.ts +++ b/src/app/app.config.ts @@ -7,6 +7,7 @@ import { NgbModule } from "@ng-bootstrap/ng-bootstrap"; import { provideRouter } from "@angular/router"; import { AppRoutes } from "./app.routes"; import { OverflowService } from "./services/overflow.service"; +import { provideIgniteIntl } from "igniteui-angular"; export const AppConfig: ApplicationConfig = { providers: [ @@ -19,6 +20,7 @@ export const AppConfig: ApplicationConfig = { provideHttpClient(withInterceptorsFromDi(), withFetch()), provideAnimations(), provideRouter(AppRoutes), - OverflowService, provideClientHydration(withEventReplay()) + OverflowService, provideClientHydration(withEventReplay()), + provideIgniteIntl() ] }; diff --git a/src/app/services/localization-samples-old/localization-all-resources/localization-all-resources.component.html b/src/app/services/localization-samples-old/localization-all-resources/localization-all-resources.component.html new file mode 100644 index 000000000..c3e5b89ee --- /dev/null +++ b/src/app/services/localization-samples-old/localization-all-resources/localization-all-resources.component.html @@ -0,0 +1,26 @@ +
+ + + Grid with Localization + + @for (locale of selectLocales; track locale) { + + {{ locale }} + + } + + + + + + + + + + + + + +
diff --git a/src/app/services/localization-samples-old/localization-all-resources/localization-all-resources.component.scss b/src/app/services/localization-samples-old/localization-all-resources/localization-all-resources.component.scss new file mode 100644 index 000000000..817b0eff6 --- /dev/null +++ b/src/app/services/localization-samples-old/localization-all-resources/localization-all-resources.component.scss @@ -0,0 +1,7 @@ +:host { + .grid__wrapper { + margin: 16px 32px; + } + + --ig-size: var(--ig-size-small); +} diff --git a/src/app/services/localization-samples-old/localization-all-resources/localization-all-resources.component.ts b/src/app/services/localization-samples-old/localization-all-resources/localization-all-resources.component.ts new file mode 100644 index 000000000..3c35c6395 --- /dev/null +++ b/src/app/services/localization-samples-old/localization-all-resources/localization-all-resources.component.ts @@ -0,0 +1,122 @@ +/* eslint-disable @typescript-eslint/ban-types */ +/* eslint-disable @typescript-eslint/member-delimiter-style */ +/* eslint-disable @typescript-eslint/naming-convention */ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { registerLocaleData } from '@angular/common'; +import localeBG from '@angular/common/locales/bg'; +import localeCS from '@angular/common/locales/cs'; +import localeDA from '@angular/common/locales/da'; +import localeDE from '@angular/common/locales/de'; +import localeEN from '@angular/common/locales/en'; +import localeES from '@angular/common/locales/es'; +import localeFR from '@angular/common/locales/fr'; +import localeHU from '@angular/common/locales/hu'; +import localeIT from '@angular/common/locales/it'; +import localeJA from '@angular/common/locales/ja'; +import localeKO from '@angular/common/locales/ko'; +import localeNB from '@angular/common/locales/nb'; +import localeNL from '@angular/common/locales/nl'; +import localePL from '@angular/common/locales/pl'; +import localePT from '@angular/common/locales/pt'; +import localeRO from '@angular/common/locales/ro'; +import localeSV from '@angular/common/locales/sv'; +import localeTR from '@angular/common/locales/tr'; +import localeHI from '@angular/common/locales/hi'; +import localeHans from '@angular/common/locales/zh-Hans'; +import localeHant from '@angular/common/locales/zh-Hant'; +import { DATA } from '../../../data/nwindData'; +import { IgxGridComponent, GridResourceStringsEN, IGridResourceStrings, IgxGridToolbarComponent, IgxGridToolbarTitleComponent, IgxSelectComponent, IgxSelectItemComponent, IgxColumnComponent } from 'igniteui-angular'; +import { + IgxResourceStringsBG, IgxResourceStringsCS, IgxResourceStringsDA, IgxResourceStringsDE, + IgxResourceStringsES, IgxResourceStringsFR, IgxResourceStringsHU, IgxResourceStringsIT, + IgxResourceStringsJA, IgxResourceStringsKO, IgxResourceStringsNB, IgxResourceStringsNL, IgxResourceStringsPL, + IgxResourceStringsPT, IgxResourceStringsRO, IgxResourceStringsSV, IgxResourceStringsTR, + IgxResourceStringsZHHANS, IgxResourceStringsZHHANT +} from 'igniteui-angular-i18n'; +import { FormsModule } from '@angular/forms'; + +@Component({ + selector: 'app-localization-all-resources-old', + styleUrls: ['./localization-all-resources.component.scss'], + templateUrl: 'localization-all-resources.component.html', + imports: [IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarTitleComponent, IgxSelectComponent, FormsModule, IgxSelectItemComponent, IgxColumnComponent] +}) +export class LocalizationAllResourcesOldComponent implements OnInit { + @ViewChild('grid', { read: IgxGridComponent, static: true }) + public grid: IgxGridComponent; + public data: any[]; + public locale: string; + public locales: { type: string, resource: object }[]; + public selectLocales = [ + 'HI', 'BG', 'CS', 'DA', 'DE', 'EN', 'ES', 'FR', 'HU', 'IT', 'JA', 'KO', 'NB', 'NL', + 'PL', 'PT', 'RO', 'SV', 'TR', 'zh-Hans', 'zh-Hant' + ]; + public partialCustomHindi: IGridResourceStrings; + + constructor() { } + public ngOnInit(): void { + registerLocaleData(localeBG); + registerLocaleData(localeCS); + registerLocaleData(localeDA); + registerLocaleData(localeDE); + registerLocaleData(localeEN); + registerLocaleData(localeES); + registerLocaleData(localeFR); + registerLocaleData(localeHU); + registerLocaleData(localeIT); + registerLocaleData(localeJA); + registerLocaleData(localeKO); + registerLocaleData(localeNB); + registerLocaleData(localeNL); + registerLocaleData(localePL); + registerLocaleData(localePT); + registerLocaleData(localeRO); + registerLocaleData(localeSV); + registerLocaleData(localeTR); + registerLocaleData(localeHI); + registerLocaleData(localeHans); + registerLocaleData(localeHant); + + this.data = DATA; + + // Creating a custom locale (HI) for specific grid strings. + // Similarly can localize all needed strings in a separate IgxResourceStringsHI file (feel free to contribute) + this.partialCustomHindi = { + igx_grid_summary_count: 'गणना', + igx_grid_summary_min: 'न्यून', + igx_grid_summary_max: 'अधिक', + igx_grid_summary_sum: 'योग', + igx_grid_summary_average: 'औसत' + }; + + this.locales = [ + { type: 'BG', resource: IgxResourceStringsBG }, + { type: 'CS', resource: IgxResourceStringsCS }, + { type: 'DA', resource: IgxResourceStringsDA }, + { type: 'DE', resource: IgxResourceStringsDE }, + { type: 'ES', resource: IgxResourceStringsES }, + { type: 'FR', resource: IgxResourceStringsFR }, + { type: 'HU', resource: IgxResourceStringsHU }, + { type: 'IT', resource: IgxResourceStringsIT }, + { type: 'JA', resource: IgxResourceStringsJA }, + { type: 'KO', resource: IgxResourceStringsKO }, + { type: 'EN', resource: GridResourceStringsEN }, + { type: 'HI', resource: this.partialCustomHindi }, + { type: 'NB', resource: IgxResourceStringsNB }, + { type: 'NL', resource: IgxResourceStringsNL }, + { type: 'PL', resource: IgxResourceStringsPL }, + { type: 'PT', resource: IgxResourceStringsPT }, + { type: 'RO', resource: IgxResourceStringsRO }, + { type: 'SV', resource: IgxResourceStringsSV }, + { type: 'TR', resource: IgxResourceStringsTR }, + { type: 'zh-Hans', resource: IgxResourceStringsZHHANS }, + { type: 'zh-Hant', resource: IgxResourceStringsZHHANT } + ]; + this.locale = 'EN'; + } + + public updateLocale() { + const newLocale = this.locales.find(x => x.type === this.locale).resource; + this.grid.resourceStrings = newLocale; + } +} diff --git a/src/app/services/localization-samples/localization-sample-1/localization-sample-1.component.html b/src/app/services/localization-samples-old/localization-sample-1/localization-sample-1.component.html similarity index 100% rename from src/app/services/localization-samples/localization-sample-1/localization-sample-1.component.html rename to src/app/services/localization-samples-old/localization-sample-1/localization-sample-1.component.html diff --git a/src/app/services/localization-samples/localization-sample-1/localization-sample-1.component.scss b/src/app/services/localization-samples-old/localization-sample-1/localization-sample-1.component.scss similarity index 100% rename from src/app/services/localization-samples/localization-sample-1/localization-sample-1.component.scss rename to src/app/services/localization-samples-old/localization-sample-1/localization-sample-1.component.scss diff --git a/src/app/services/localization-samples/localization-sample-1/localization-sample-1.component.ts b/src/app/services/localization-samples-old/localization-sample-1/localization-sample-1.component.ts similarity index 100% rename from src/app/services/localization-samples/localization-sample-1/localization-sample-1.component.ts rename to src/app/services/localization-samples-old/localization-sample-1/localization-sample-1.component.ts diff --git a/src/app/services/localization-samples/localization-sample-2/localization-sample-2.component.html b/src/app/services/localization-samples-old/localization-sample-2/localization-sample-2.component.html similarity index 100% rename from src/app/services/localization-samples/localization-sample-2/localization-sample-2.component.html rename to src/app/services/localization-samples-old/localization-sample-2/localization-sample-2.component.html diff --git a/src/app/services/localization-samples/localization-sample-2/localization-sample-2.component.scss b/src/app/services/localization-samples-old/localization-sample-2/localization-sample-2.component.scss similarity index 100% rename from src/app/services/localization-samples/localization-sample-2/localization-sample-2.component.scss rename to src/app/services/localization-samples-old/localization-sample-2/localization-sample-2.component.scss diff --git a/src/app/services/localization-samples/localization-sample-2/localization-sample-2.component.ts b/src/app/services/localization-samples-old/localization-sample-2/localization-sample-2.component.ts similarity index 100% rename from src/app/services/localization-samples/localization-sample-2/localization-sample-2.component.ts rename to src/app/services/localization-samples-old/localization-sample-2/localization-sample-2.component.ts diff --git a/src/app/services/localization-samples/localization-sample-3/localization-sample-3.component.html b/src/app/services/localization-samples-old/localization-sample-3/localization-sample-3.component.html similarity index 100% rename from src/app/services/localization-samples/localization-sample-3/localization-sample-3.component.html rename to src/app/services/localization-samples-old/localization-sample-3/localization-sample-3.component.html diff --git a/src/app/services/localization-samples/localization-sample-3/localization-sample-3.component.scss b/src/app/services/localization-samples-old/localization-sample-3/localization-sample-3.component.scss similarity index 100% rename from src/app/services/localization-samples/localization-sample-3/localization-sample-3.component.scss rename to src/app/services/localization-samples-old/localization-sample-3/localization-sample-3.component.scss diff --git a/src/app/services/localization-samples/localization-sample-3/localization-sample-3.component.ts b/src/app/services/localization-samples-old/localization-sample-3/localization-sample-3.component.ts similarity index 100% rename from src/app/services/localization-samples/localization-sample-3/localization-sample-3.component.ts rename to src/app/services/localization-samples-old/localization-sample-3/localization-sample-3.component.ts diff --git a/src/app/services/localization-samples/localization-all-resources/localization-all-resources.component.ts b/src/app/services/localization-samples/localization-all-resources/localization-all-resources.component.ts index aded390eb..bb99c7647 100644 --- a/src/app/services/localization-samples/localization-all-resources/localization-all-resources.component.ts +++ b/src/app/services/localization-samples/localization-all-resources/localization-all-resources.component.ts @@ -2,41 +2,19 @@ /* eslint-disable @typescript-eslint/member-delimiter-style */ /* eslint-disable @typescript-eslint/naming-convention */ import { Component, OnInit, ViewChild } from '@angular/core'; -import { registerLocaleData } from '@angular/common'; -import localeBG from '@angular/common/locales/bg'; -import localeCS from '@angular/common/locales/cs'; -import localeDA from '@angular/common/locales/da'; -import localeDE from '@angular/common/locales/de'; -import localeEN from '@angular/common/locales/en'; -import localeES from '@angular/common/locales/es'; -import localeFR from '@angular/common/locales/fr'; -import localeHU from '@angular/common/locales/hu'; -import localeIT from '@angular/common/locales/it'; -import localeJA from '@angular/common/locales/ja'; -import localeKO from '@angular/common/locales/ko'; -import localeNB from '@angular/common/locales/nb'; -import localeNL from '@angular/common/locales/nl'; -import localePL from '@angular/common/locales/pl'; -import localePT from '@angular/common/locales/pt'; -import localeRO from '@angular/common/locales/ro'; -import localeSV from '@angular/common/locales/sv'; -import localeTR from '@angular/common/locales/tr'; -import localeHI from '@angular/common/locales/hi'; -import localeHans from '@angular/common/locales/zh-Hans'; -import localeHant from '@angular/common/locales/zh-Hant'; import { DATA } from '../../../data/nwindData'; import { IgxGridComponent } from 'igniteui-angular/grids/grid'; -import { GridResourceStringsEN, IGridResourceStrings } from 'igniteui-angular/core'; +import { GridResourceStringsEN, IGridResourceStrings, registerI18n, setCurrentI18n } from 'igniteui-angular/core'; import { IgxColumnComponent, IgxGridToolbarComponent, IgxGridToolbarTitleComponent } from 'igniteui-angular/grids/core'; import { IgxSelectComponent, IgxSelectItemComponent } from 'igniteui-angular/select'; +import { FormsModule } from '@angular/forms'; import { IgxResourceStringsBG, IgxResourceStringsCS, IgxResourceStringsDA, IgxResourceStringsDE, IgxResourceStringsES, IgxResourceStringsFR, IgxResourceStringsHU, IgxResourceStringsIT, - IgxResourceStringsJA, IgxResourceStringsKO, IgxResourceStringsNB, IgxResourceStringsNL, IgxResourceStringsPL, - IgxResourceStringsPT, IgxResourceStringsRO, IgxResourceStringsSV, IgxResourceStringsTR, - IgxResourceStringsZHHANS, IgxResourceStringsZHHANT -} from 'igniteui-angular-i18n'; -import { FormsModule } from '@angular/forms'; + IgxResourceStringsJA, IgxResourceStringsKO, IgxResourceStringsNB, IgxResourceStringsNL, + IgxResourceStringsPL, IgxResourceStringsPT, IgxResourceStringsRO, IgxResourceStringsSV, + IgxResourceStringsTR, IgxResourceStringsZHHANS, IgxResourceStringsZHHANT + } from 'igniteui-angular-i18n'; @Component({ selector: 'app-localization-all-resources', @@ -58,28 +36,6 @@ export class LocalizationAllResourcesComponent implements OnInit { constructor() { } public ngOnInit(): void { - registerLocaleData(localeBG); - registerLocaleData(localeCS); - registerLocaleData(localeDA); - registerLocaleData(localeDE); - registerLocaleData(localeEN); - registerLocaleData(localeES); - registerLocaleData(localeFR); - registerLocaleData(localeHU); - registerLocaleData(localeIT); - registerLocaleData(localeJA); - registerLocaleData(localeKO); - registerLocaleData(localeNB); - registerLocaleData(localeNL); - registerLocaleData(localePL); - registerLocaleData(localePT); - registerLocaleData(localeRO); - registerLocaleData(localeSV); - registerLocaleData(localeTR); - registerLocaleData(localeHI); - registerLocaleData(localeHans); - registerLocaleData(localeHant); - this.data = DATA; // Creating a custom locale (HI) for specific grid strings. @@ -92,34 +48,29 @@ export class LocalizationAllResourcesComponent implements OnInit { igx_grid_summary_average: 'औसत' }; - this.locales = [ - { type: 'BG', resource: IgxResourceStringsBG }, - { type: 'CS', resource: IgxResourceStringsCS }, - { type: 'DA', resource: IgxResourceStringsDA }, - { type: 'DE', resource: IgxResourceStringsDE }, - { type: 'ES', resource: IgxResourceStringsES }, - { type: 'FR', resource: IgxResourceStringsFR }, - { type: 'HU', resource: IgxResourceStringsHU }, - { type: 'IT', resource: IgxResourceStringsIT }, - { type: 'JA', resource: IgxResourceStringsJA }, - { type: 'KO', resource: IgxResourceStringsKO }, - { type: 'EN', resource: GridResourceStringsEN }, - { type: 'HI', resource: this.partialCustomHindi }, - { type: 'NB', resource: IgxResourceStringsNB }, - { type: 'NL', resource: IgxResourceStringsNL }, - { type: 'PL', resource: IgxResourceStringsPL }, - { type: 'PT', resource: IgxResourceStringsPT }, - { type: 'RO', resource: IgxResourceStringsRO }, - { type: 'SV', resource: IgxResourceStringsSV }, - { type: 'TR', resource: IgxResourceStringsTR }, - { type: 'zh-Hans', resource: IgxResourceStringsZHHANS }, - { type: 'zh-Hant', resource: IgxResourceStringsZHHANT } - ]; - this.locale = 'EN'; + registerI18n(IgxResourceStringsBG, 'bg'); + registerI18n(IgxResourceStringsCS, 'cs'); + registerI18n(IgxResourceStringsDA, 'da'); + registerI18n(IgxResourceStringsDE, 'de'); + registerI18n(IgxResourceStringsES, 'es'); + registerI18n(IgxResourceStringsFR, 'fr'); + registerI18n(IgxResourceStringsHU, 'hu'); + registerI18n(IgxResourceStringsIT, 'it'); + registerI18n(IgxResourceStringsJA, 'ja'); + registerI18n(IgxResourceStringsKO, 'ko'); + registerI18n(IgxResourceStringsNB, 'nb'); + registerI18n(IgxResourceStringsNL, 'nl'); + registerI18n(IgxResourceStringsPL, 'pl'); + registerI18n(IgxResourceStringsPT, 'pt'); + registerI18n(IgxResourceStringsRO, 'ro'); + registerI18n(IgxResourceStringsSV, 'sv'); + registerI18n(IgxResourceStringsTR, 'tr'); + registerI18n(IgxResourceStringsZHHANS, 'zh-Hans'); + registerI18n(IgxResourceStringsZHHANT, 'zh-Hant'); + registerI18n(this.partialCustomHindi, 'hi'); } public updateLocale() { - const newLocale = this.locales.find(x => x.type === this.locale).resource; - this.grid.resourceStrings = newLocale; + setCurrentI18n(this.locale); } } diff --git a/src/app/services/services-routes-data.ts b/src/app/services/services-routes-data.ts index e5fa60b06..887a46324 100644 --- a/src/app/services/services-routes-data.ts +++ b/src/app/services/services-routes-data.ts @@ -9,6 +9,7 @@ export const servicesRoutesData = { 'localization-sample-1': { displayName: 'Localize one component', parentName: 'Localization' }, 'localization-sample-2': { displayName: 'Localize All', parentName: 'Localization' }, 'localization-sample-3': { displayName: 'Localize partially', parentName: 'Localization' }, + 'localization-all-resources-old': { displayName: 'Localize application (Legacy)', parentName: 'Localization' }, 'localization-all-resources': { displayName: 'Localize application', parentName: 'Localization' }, 'transaction-base': { displayName: 'Base Transaction', parentName: 'Transactions' } }; diff --git a/src/app/services/services.routes.ts b/src/app/services/services.routes.ts index f991db443..8ca1b0091 100644 --- a/src/app/services/services.routes.ts +++ b/src/app/services/services.routes.ts @@ -6,13 +6,14 @@ import { CsvExportComponent } from './export-csv/csv-export.component'; import { ExcelExportSample1Component } from './export-excel/excel-export-sample-1/excel-export-sample-1.component'; import { TreeGridExcelExportSample1Component } from './export-excel/excel-export-tree-grid-sample/excel-export-tree-grid-sample.component'; import { ExcelExportComponent } from './export-excel/excel-export.component'; -import { LocalizationAllResourcesComponent } from './localization-samples/localization-all-resources/localization-all-resources.component'; -import { LocalizationSample1Component } from './localization-samples/localization-sample-1/localization-sample-1.component'; -import { LocalizationSample2Component } from './localization-samples/localization-sample-2/localization-sample-2.component'; -import { LocalizationSample3Component } from './localization-samples/localization-sample-3/localization-sample-3.component'; +import { LocalizationAllResourcesOldComponent } from './localization-samples-old/localization-all-resources/localization-all-resources.component'; +import { LocalizationSample1Component } from './localization-samples-old/localization-sample-1/localization-sample-1.component'; +import { LocalizationSample2Component } from './localization-samples-old/localization-sample-2/localization-sample-2.component'; +import { LocalizationSample3Component } from './localization-samples-old/localization-sample-3/localization-sample-3.component'; import { servicesRoutesData } from './services-routes-data'; import { TransactionBaseComponent } from './transaction/transaction-base/transaction-base.component'; import { PdfExportComponent } from './export-pdf/pdf-export.component'; +import { LocalizationAllResourcesComponent } from './localization-samples/localization-all-resources/localization-all-resources.component'; // tslint:enable:max-line-length export const ServicesRoutes: Routes = [ @@ -66,6 +67,11 @@ export const ServicesRoutes: Routes = [ data: servicesRoutesData['localization-sample-3'], path: 'localization-sample-3' }, + { + component: LocalizationAllResourcesOldComponent, + data: servicesRoutesData['localization-all-resources-old'], + path: 'localization-all-resources-old' + }, { component: LocalizationAllResourcesComponent, data: servicesRoutesData['localization-all-resources'],