Skip to content

refactor(*): New localization implementation. #16034

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 28 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
8a3b28c
refactor(*): New localization initial implementation.
skrustev Jul 8, 2025
0b31b3d
refactor(locale): Replace any other occurances of formatting pipes.
skrustev Jul 8, 2025
4e5e3e0
fix(localization): Set core i18n package is external, to be excluded …
skrustev Jul 25, 2025
53cb864
fix(grid): Set the new localization update for grid globally.
skrustev Jul 25, 2025
4db5f2a
feat(grid): Add custom currency code, currency symbol and position o…
skrustev Jul 25, 2025
468fae0
feat(calendar): Add start of week implementation and update locale ba…
skrustev Jul 25, 2025
a24767e
feat(grid): Apply Angular localeID in case it is set as a higher prio…
skrustev Jul 28, 2025
9ef4fa0
feat(localization): Apply new localization to calendar and date picke…
skrustev Jul 28, 2025
ac694ae
feat(localization): Apply new localization to query builder and excel…
skrustev Jul 28, 2025
ff0c074
feat(localization): Update EN resources and igniteui-angular-i18n to …
skrustev Jul 30, 2025
052b047
feat(localization): Separate resourceStrings and locale inputs from n…
skrustev Jul 30, 2025
475f9c9
chore(*): Update comment
skrustev Jul 30, 2025
1ad5848
Merge master into skrastev/localization
skrustev Aug 5, 2025
b29005b
feat(util): Use locale manager to get Date from string and number.
skrustev Aug 8, 2025
cf11f71
fix(grid): Reset currency position when locale changes.
skrustev Aug 8, 2025
e2738a5
feat(demos): Add locale to properties panel and remove root locale re…
skrustev Aug 8, 2025
758c254
fix(calendar): Fix calendar first week not updating and add proper se…
skrustev Aug 8, 2025
dc8e3c9
feat(calendar): Get rid of formatters recreating in calendar and use …
skrustev Aug 8, 2025
6c9cb97
fix(calendarView): Fix locale not updating for calendar views.
skrustev Aug 8, 2025
20372db
fix(calendarView): Remove default values for locale.
skrustev Aug 8, 2025
f23bb7e
fix(date-picker): Fix locale not being reflected when changed.
skrustev Aug 8, 2025
2336ae1
fix(*): Fix time formating for date using wrong variable.
skrustev Aug 8, 2025
ffa87c5
fix(grid): Fix grid resource string assigning and summary cell use of…
skrustev Aug 8, 2025
d10f5f9
fix(grid): Remove unnecessary summary cell method. Fix detect change …
skrustev Aug 8, 2025
8e86e3f
fix(localization): Apply new internal handling for localization event…
skrustev Aug 11, 2025
c822fce
fix(*); Cleanup a bit empty imports and other minor things.
skrustev Aug 13, 2025
c28c44d
feat(i18n): Add getLocaleDateFormat and getLocaleDateTimeFormat.
skrustev Aug 14, 2025
3862b66
fix(i18n): Fixes to wrong locale prop used and DatePipe.
skrustev Aug 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@
],
"outputHashing": "none",
"optimization": true,
"externalDependencies": ["lit"]
"externalDependencies": ["lit", "igniteui-i18n-core"]
},
"development": {
"optimization": false,
Expand Down
2 changes: 1 addition & 1 deletion projects/igniteui-angular-elements/esbuild.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const config = {
minify: false, // temporary disabled due to Webpack issues https://github.com/webpack/webpack/issues/16262
outfile: `${ROOT}/elements.js`,
format: 'esm',
external: ['lit'],
external: ['lit', 'igniteui-i18n-core'],
target: 'es2022',
metafile: true,
treeShaking: true
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { IActionStripResourceStrings } from 'igniteui-angular';
import { ActionStripResourceStringsBG as AActionStripResourceStrings } from 'igniteui-i18n-resources';
import { convertToIgxResource } from 'igniteui-angular/src/lib/core/i18n/resources';

// only use `satisfies` operator so export is typed by its schema
/**
* Bulgarian resource strings for IgxActionStrip
*/
export const ActionStripResourceStringsBG = {
igx_action_strip_button_more_title: 'Още'
} satisfies MakeRequired<IActionStripResourceStrings>;
export const ActionStripResourceStringsBG: IActionStripResourceStrings = convertToIgxResource(AActionStripResourceStrings);
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { IBannerResourceStrings } from 'igniteui-angular';
import { BannerResourceStringsBG as ABannerResourceStrings } from 'igniteui-i18n-resources';
import { convertToIgxResource } from 'igniteui-angular/src/lib/core/i18n/resources';

// only use `satisfies` operator so export is typed by its schema
/**
* Bulgarian resource strings for IgxBanner
*/
export const BannerResourceStringsBG = {
igx_banner_button_dismiss: 'Отхвърляне'
} satisfies MakeRequired<IBannerResourceStrings>;
export const BannerResourceStringsBG: IBannerResourceStrings = convertToIgxResource(ABannerResourceStrings);
28 changes: 3 additions & 25 deletions projects/igniteui-angular-i18n/src/i18n/BG/calendar-resources.ts
Original file line number Diff line number Diff line change
@@ -1,30 +1,8 @@
import { ICalendarResourceStrings } from 'igniteui-angular';
import { CalendarResourceStringsBG as ACalendarResourceStrings } from 'igniteui-i18n-resources';
import { convertToIgxResource } from 'igniteui-angular/src/lib/core/i18n/resources';

// only use `satisfies` operator so export is typed by its schema
/**
* Bulgarian resource strings for IgxCalendar
*/
export const CalendarResourceStringsBG = {
igx_calendar_previous_month: 'Предходен месец',
igx_calendar_next_month: 'Следващ месец',
igx_calendar_previous_year: 'Предходна година',
igx_calendar_next_year: 'Следваща година',
igx_calendar_previous_years: 'Предходни {0} години',
igx_calendar_next_years: 'Следващи {0} години',
igx_calendar_select_date: 'Избор на дата',
igx_calendar_select_month: 'Избор на месец',
igx_calendar_select_year: 'Избор на година',
igx_calendar_range_start: 'Начало на диапазона',
igx_calendar_range_end: 'Край на диапазона',
igx_calendar_range_label_start: 'Начало',
igx_calendar_range_label_end: 'Край',
igx_calendar_range_placeholder: 'Избери диапазон',
igx_calendar_selected_month_is: 'Избраният месец е ',
igx_calendar_first_picker_of: 'Първия селектор от {0} започва от',
igx_calendar_multi_selection: 'Календар с множествен избор с {0} избирачи на дати',
igx_calendar_range_selection: 'Календар с избор на диапазон с {0} избирачи на дати',
igx_calendar_single_selection: 'Календар с {0} избирачи на дати',
igx_calendar_singular_multi_selection: 'Календар с множествен избор',
igx_calendar_singular_range_selection: 'Календар с избор на диапазон',
igx_calendar_singular_single_selection: 'Календар',
} satisfies MakeRequired<ICalendarResourceStrings>;
export const CalendarResourceStringsBG: ICalendarResourceStrings = convertToIgxResource(ACalendarResourceStrings);
10 changes: 3 additions & 7 deletions projects/igniteui-angular-i18n/src/i18n/BG/carousel-resources.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
import { ICarouselResourceStrings } from 'igniteui-angular';
import { CarouselResourceStringsBG as ACarouselResourceStrings } from 'igniteui-i18n-resources';
import { convertToIgxResource } from 'igniteui-angular/src/lib/core/i18n/resources';

// only use `satisfies` operator so export is typed by its schema
/**
* Bulgarian resource strings for IgxCarousel
*/
export const CarouselResourceStringsBG = {
igx_carousel_of: 'от',
igx_carousel_slide: 'слайд',
igx_carousel_previous_slide: 'предишен слайд',
igx_carousel_next_slide: 'следващ слайд'
} satisfies MakeRequired<ICarouselResourceStrings>;
export const CarouselResourceStringsBG: ICarouselResourceStrings = convertToIgxResource(ACarouselResourceStrings);
8 changes: 3 additions & 5 deletions projects/igniteui-angular-i18n/src/i18n/BG/chip-resources.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import { IChipResourceStrings } from 'igniteui-angular';
import { ChipResourceStringsBG as AChipResourceStrings } from 'igniteui-i18n-resources';
import { convertToIgxResource } from 'igniteui-angular/src/lib/core/i18n/resources';

// only use `satisfies` operator so export is typed by its schema
/**
* Bulgarian resource strings for IgxChip
*/
export const ChipResourceStringsBG = {
igx_chip_remove: 'Премахване на чипa',
igx_chip_select: 'Избор на чип'
} satisfies MakeRequired<IChipResourceStrings>;
export const ChipResourceStringsBG: IChipResourceStrings = convertToIgxResource(AChipResourceStrings);
12 changes: 3 additions & 9 deletions projects/igniteui-angular-i18n/src/i18n/BG/combo-resources.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
import { IComboResourceStrings } from 'igniteui-angular';
import { ComboResourceStringsBG as AComboResourceStrings } from 'igniteui-i18n-resources';
import { convertToIgxResource } from 'igniteui-angular/src/lib/core/i18n/resources';

// only use `satisfies` operator so export is typed by its schema
/**
* Bulgarian resource strings for IgxCombo
*/
export const ComboResourceStringsBG = {
igx_combo_empty_message: 'Списъкът е празен',
igx_combo_filter_search_placeholder: 'Въведете термин за търсене',
igx_combo_addCustomValues_placeholder: 'Добавяне на елемент',
igx_combo_clearItems_placeholder: 'Изчистване на избора',
igx_combo_aria_label_options: 'Има избрани опции',
igx_combo_aria_label_no_options: 'Няма избрани опции'
} satisfies MakeRequired<IComboResourceStrings>;
export const ComboResourceStringsBG: IComboResourceStrings = convertToIgxResource(AComboResourceStrings);
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import { IDatePickerResourceStrings } from 'igniteui-angular';
import { DatePickerResourceStringsBG as ADatePickerResourceStrings } from 'igniteui-i18n-resources';
import { convertToIgxResource } from 'igniteui-angular/src/lib/core/i18n/resources';

// only use `satisfies` operator so export is typed by its schema
/**
* Bulgarian resource strings for IgxDatePicker
*/
export const DatePickerResourceStringsBG = {
igx_date_picker_change_date: 'Промяна на датата',
igx_date_picker_choose_date: 'Избор на дата'
} satisfies MakeRequired<IDatePickerResourceStrings>;
export const DatePickerResourceStringsBG: IDatePickerResourceStrings = convertToIgxResource(ADatePickerResourceStrings);
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import { IDateRangePickerResourceStrings } from 'igniteui-angular';
import { DateRangePickerResourceStringsBG as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources';
import { convertToIgxResource } from 'igniteui-angular/src/lib/core/i18n/resources';

// only use `satisfies` operator so export is typed by its schema
/**
* Bulgarian resource strings for IgxDateRangePicker
*/
export const DateRangePickerResourceStringsBG = {
igx_date_range_picker_date_separator: 'до',
igx_date_range_picker_done_button: 'Завърши'
} satisfies MakeRequired<IDateRangePickerResourceStrings>;
export const DateRangePickerResourceStringsBG: IDateRangePickerResourceStrings = convertToIgxResource(ADateRangePickerResourceStrings);
Loading