Repository navigation
Feature/localization separate format (#35697) - #35722
Merged
Merged
Conversation
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>
Contributor
There was a problem hiding this comment.
🟡 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
FormatLocaleand 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.
dmlvr
approved these changes
Oct 15, 2026
anna-shakhova
approved these changes
Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


No description provided.