Skip to content

Feature/localization separate format (#35697) - #35722

Merged
GoodDayForSurf merged 1 commit into
mainfrom
feature/localization_separate_locale
Oct 15, 2026
Merged

GoodDayForSurf merged 1 commit into
mainfrom
feature/localization_separate_locale

Conversation

@GoodDayForSurf

Copy link
Copy Markdown
Contributor

No description provided.

Signed-off-by: Aliullov Vlad <91639107+GoodDayForSurf@users.noreply.github.com>
Co-authored-by: Mikhail Preyskurantov <5574159+mpreyskurantov@users.noreply.github.com>
Co-authored-by: Arman Jivanyan <arman.jivanyan@devexpress.com>
Co-authored-by: Andrey Vorobev <738482+vorobey@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@GoodDayForSurf GoodDayForSurf self-assigned this Oct 15, 2026
Copilot AI balanced review requested due to automatic review settings October 15, 2026 12:54
@GoodDayForSurf
GoodDayForSurf requested review from a team as code owners October 15, 2026 12:54
@github-actions github-actions Bot added the .d.ts label Oct 15, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Locale-dependent parsing and editing failures remain, including a NumberBox exception with Globalize formats.

3 open findings
What changed in this PR

Adds formatting locales independent of the message locale across DevExtreme components and framework wrappers.

Changes:

  • Adds FormatLocale and locale-aware formatting and parsing.
  • Updates editors, grids, charts, and range selectors to preserve appropriate formats.
  • Exposes locale settings through Angular, React, and Vue wrappers and adds regression tests.
File Description
packages/​devextreme/​ts/​dx.all.d.ts Updates bundled format declarations.
packages/​devextreme/​testing/​tests/​DevExpress.viz.rangeSelector/​common.part3.tests.js Tests locale-aware marker formats.
packages/​devextreme/​testing/​tests/​DevExpress.viz.rangeSelector/​common.part2.tests.js Tests localized automatic formats.
packages/​devextreme/​testing/​tests/​DevExpress.viz.core/​axisFormatting.tests.js Tests global axis formatting locales.
packages/​devextreme/​testing/​tests/​DevExpress.ui.widgets.editors/​numberbox.localization.tests.js Tests NumberBox locale handling.
packages/​devextreme/​testing/​tests/​DevExpress.ui.widgets.editors/​datebox.tests.js Tests DateBox format precedence.
packages/​devextreme/​testing/​tests/​DevExpress.localization/​localization.intl.tests.js Tests Intl formatting locales.
packages/​devextreme/​testing/​tests/​DevExpress.localization/​localization.globalize.tests.js Tests Globalize formatting locales.
packages/​devextreme/​js/​common/​core/​localization.d.ts Declares public locale support.
packages/​devextreme/​js/​__internal/​viz/​series/​points/​symbol_point.ts Passes tooltip data types.
packages/​devextreme/​js/​__internal/​viz/​series/​points/​range_symbol_point.ts Passes range tooltip data types.
packages/​devextreme/​js/​__internal/​viz/​series/​base_series.ts Applies label format presets.
packages/​devextreme/​js/​__internal/​viz/​range_selector/​range_selector.ts Preserves localized automatic marker formats.
packages/​devextreme/​js/​__internal/​viz/​core/​tooltip.ts Applies data-type format presets.
packages/​devextreme/​js/​__internal/​viz/​axes/​smart_formatter.ts Preserves locale during automatic formatting.
packages/​devextreme/​js/​__internal/​viz/​axes/​smart_formatter.test.ts Tests localized axis formatting.
packages/​devextreme/​js/​__internal/​ui/​number_box/​number_box.mask.ts Updates locale-aware masking and precision.
packages/​devextreme/​js/​__internal/​ui/​number_box/​number_box.caret.ts Accepts the effective decimal separator.
packages/​devextreme/​js/​__internal/​ui/​number_box/​__tests__/​number_box.precision_locale.test.ts Tests locale-sensitive precision limits.
packages/​devextreme/​js/​__internal/​ui/​number_box/​__tests__/​number_box.currency_locale.test.ts Tests localized currency parsing.
packages/​devextreme/​js/​__internal/​ui/​date_box/​date_box.strategy.ts Applies display format presets.
packages/​devextreme/​js/​__internal/​ui/​date_box/​date_box.strategy.native.ts Applies native strategy presets.
packages/​devextreme/​js/​__internal/​ui/​date_box/​date_box.strategy.list.ts Preserves time formatting.
packages/​devextreme/​js/​__internal/​ui/​date_box/​date_box.strategy.date_view.ts Applies date-view format presets.
packages/​devextreme/​js/​__internal/​ui/​date_box/​date_box.strategy.calendar.ts Applies calendar format presets.
packages/​devextreme/​js/​__internal/​ui/​date_box/​date_box.strategy.calendar_with_time.ts Preserves datetime formatting.
packages/​devextreme/​js/​__internal/​ui/​date_box/​date_box.mask.ts Binds mask parsing to format locale.
packages/​devextreme/​js/​__internal/​ui/​date_box/​date_box.base.ts Centralizes display format resolution.
packages/​devextreme/​js/​__internal/​ui/​date_box/​__tests__/​date_box.display_format_locale.test.ts Tests localized display and masking.
packages/​devextreme/​js/​__internal/​grids/​new/​grid_core/​columns_controller/​utils.ts Applies column format presets.
packages/​devextreme/​js/​__internal/​grids/​grid_core/​columns_controller/​columns_controller.ts Applies grid column format presets.
packages/​devextreme/​js/​__internal/​grids/​grid_core/​__tests__/​column_format_locale.integration.test.ts Tests column locale overrides.
packages/​devextreme/​js/​__internal/​filter_builder/​utils.ts Applies field format presets.
packages/​devextreme/​js/​__internal/​filter_builder/​__tests__/​utils.test.ts Tests locale-only field formats.
packages/​devextreme/​js/​__internal/​core/​localization/​number.ts Adds format-aware separator handling.
packages/​devextreme/​js/​__internal/​core/​localization/​ldml/​date.parser.ts Binds date names to a locale.
packages/​devextreme/​js/​__internal/​core/​localization/​intl/​number.ts Uses effective formatting locales.
packages/​devextreme/​js/​__internal/​core/​localization/​globalize/​number.ts Localizes number formatting and parsing.
packages/​devextreme/​js/​__internal/​core/​localization/​globalize/​currency.ts Localizes currency formatting.
packages/​devextreme/​js/​__internal/​core/​localization/​date.ts Accepts locale-bound date parts.
packages/​devextreme/​js/​__internal/​core/​localization/​core.ts Supports explicit locale lookup origins.
packages/​devextreme/​js/​__internal/​core/​global_format_config.ts Resolves locales and data-type presets.
packages/​devextreme/​js/​__internal/​core/​format_helper.ts Creates locale-aware composite formatters.
packages/​devextreme/​js/​__internal/​core/​format_helper.test.ts Tests composite formatter locales.
packages/​devextreme-vue/​src/​tree-map.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​tree-list.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​sparkline.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​slider.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​sankey.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​range-slider.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​range-selector.ts Exposes value and argument locales.
packages/​devextreme-vue/​src/​polar-chart.ts Exposes value and argument locales.
packages/​devextreme-vue/​src/​pie-chart.ts Exposes value and argument locales.
packages/​devextreme-vue/​src/​number-box.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​linear-gauge.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​gantt.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​funnel.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​filter-builder.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​date-range-box.ts Exposes display format locale.
packages/​devextreme-vue/​src/​date-box.ts Exposes display format locale.
packages/​devextreme-vue/​src/​data-grid.ts Exposes column and summary locales.
packages/​devextreme-vue/​src/​common/​index.ts Reexports FormatLocale.
packages/​devextreme-vue/​src/​common/​core/​localization.ts Reexports FormatLocale.
packages/​devextreme-vue/​src/​circular-gauge.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​chat.ts Exposes header and timestamp locales.
packages/​devextreme-vue/​src/​chart.ts Exposes value and argument locales.
packages/​devextreme-vue/​src/​card-view.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​bullet.ts Exposes nested format locale.
packages/​devextreme-vue/​src/​bar-gauge.ts Exposes value and item-text locales.
packages/​devextreme-react/​src/​tree-map.ts Types nested format locale.
packages/​devextreme-react/​src/​tree-list.ts Types nested format locale.
packages/​devextreme-react/​src/​sparkline.ts Types nested format locale.
packages/​devextreme-react/​src/​slider.ts Types nested format locale.
packages/​devextreme-react/​src/​sankey.ts Types nested format locale.
packages/​devextreme-react/​src/​range-slider.ts Types nested format locale.
packages/​devextreme-react/​src/​range-selector.ts Types value and argument locales.
packages/​devextreme-react/​src/​polar-chart.ts Types value and argument locales.
packages/​devextreme-react/​src/​pie-chart.ts Types value and argument locales.
packages/​devextreme-react/​src/​number-box.ts Types nested format locale.
packages/​devextreme-react/​src/​linear-gauge.ts Types nested format locale.
packages/​devextreme-react/​src/​gantt.ts Types nested format locale.
packages/​devextreme-react/​src/​funnel.ts Types nested format locale.
packages/​devextreme-react/​src/​filter-builder.ts Types nested format locale.
packages/​devextreme-react/​src/​date-range-box.ts Types display format locale.
packages/​devextreme-react/​src/​date-box.ts Types display format locale.
packages/​devextreme-react/​src/​data-grid.ts Types column and summary locales.
packages/​devextreme-react/​src/​common/​index.ts Reexports FormatLocale.
packages/​devextreme-react/​src/​common/​core/​localization.ts Reexports FormatLocale.
packages/​devextreme-react/​src/​circular-gauge.ts Types nested format locale.
packages/​devextreme-react/​src/​chat.ts Types header and timestamp locales.
packages/​devextreme-react/​src/​chart.ts Types value and argument locales.
packages/​devextreme-react/​src/​card-view.ts Types nested format locale.
packages/​devextreme-react/​src/​bullet.ts Types nested format locale.
packages/​devextreme-react/​src/​bar-gauge.ts Types value and item-text locales.
packages/​devextreme-metadata/​make-angular-metadata.ts Excludes locale from Angular metadata generation.
packages/​devextreme-angular/​src/​ui/​tree-map/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​tree-list/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​sparkline/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​slider/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​sankey/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​range-slider/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​range-selector/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​range-selector/​nested/​argument-format.ts Adds argument locale input.
packages/​devextreme-angular/​src/​ui/​polar-chart/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​polar-chart/​nested/​argument-format.ts Adds argument locale input.
packages/​devextreme-angular/​src/​ui/​pie-chart/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​pie-chart/​nested/​argument-format.ts Adds argument locale input.
packages/​devextreme-angular/​src/​ui/​number-box/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​linear-gauge/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​gantt/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​funnel/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​filter-builder/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​date-range-box/​nested/​display-format.ts Adds display locale input.
packages/​devextreme-angular/​src/​ui/​date-box/​nested/​display-format.ts Adds display locale input.
packages/​devextreme-angular/​src/​ui/​data-grid/​nested/​value-format.ts Adds summary locale input.
packages/​devextreme-angular/​src/​ui/​data-grid/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​circular-gauge/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​chat/​nested/​message-timestamp-format.ts Adds timestamp locale input.
packages/​devextreme-angular/​src/​ui/​chat/​nested/​day-header-format.ts Adds header locale input.
packages/​devextreme-angular/​src/​ui/​chart/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​chart/​nested/​argument-format.ts Adds argument locale input.
packages/​devextreme-angular/​src/​ui/​card-view/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​bullet/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​ui/​bar-gauge/​nested/​item-text-format.ts Adds item-text locale input.
packages/​devextreme-angular/​src/​ui/​bar-gauge/​nested/​format.ts Adds format locale input.
packages/​devextreme-angular/​src/​index.ts Reexports FormatLocale.
packages/​devextreme-angular/​src/​common/​index.ts Reexports FormatLocale.
packages/​devextreme-angular/​src/​common/​core/​localization/​index.ts Reexports FormatLocale.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/devextreme/js/__internal/ui/number_box/number_box.mask.ts
Comment thread packages/devextreme/js/__internal/core/localization/number.ts
Comment thread packages/devextreme/js/__internal/ui/date_box/date_box.mask.ts
@GoodDayForSurf
GoodDayForSurf added this pull request to the merge queue Oct 15, 2026
Merged via the queue into main with commit 559471d Oct 15, 2026
149 checks passed
@GoodDayForSurf
GoodDayForSurf deleted the feature/localization_separate_locale branch October 15, 2026 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants