{"id":28893603,"url":"https://github.com/devexpress/devextreme-intl","last_synced_at":"2025-10-24T17:01:52.229Z","repository":{"id":66162988,"uuid":"72562617","full_name":"DevExpress/DevExtreme-Intl","owner":"DevExpress","description":"Integrates ECMAScript Internationalization API  with DevExtreme","archived":false,"fork":false,"pushed_at":"2023-01-11T07:14:16.000Z","size":172,"stargazers_count":13,"open_issues_count":0,"forks_count":10,"subscribers_count":34,"default_branch":"master","last_synced_at":"2025-06-12T11:58:24.635Z","etag":null,"topics":["devextreme","internationalization","intl"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevExpress.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-01T18:04:43.000Z","updated_at":"2024-03-15T12:16:12.000Z","dependencies_parsed_at":"2023-07-02T08:42:09.078Z","dependency_job_id":null,"html_url":"https://github.com/DevExpress/DevExtreme-Intl","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/DevExpress/DevExtreme-Intl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevExpress%2FDevExtreme-Intl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevExpress%2FDevExtreme-Intl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevExpress%2FDevExtreme-Intl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevExpress%2FDevExtreme-Intl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevExpress","download_url":"https://codeload.github.com/DevExpress/DevExtreme-Intl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevExpress%2FDevExtreme-Intl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261055311,"owners_count":23103224,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devextreme","internationalization","intl"],"created_at":"2025-06-21T03:08:03.733Z","updated_at":"2025-10-24T17:01:52.209Z","avatar_url":"https://github.com/DevExpress.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CircleCI](https://img.shields.io/circleci/project/github/DevExpress/DevExtreme-Intl/master.svg)](https://circleci.com/gh/DevExpress/devextreme-intl)\n\n# DevExtreme-Intl\n\n**IMPORTANT**: This repo is in maintenance mode. Since v19.2, DevExtreme provides localization via Intl API out of the box, and this module is redundant. We do not recommend using it any longer.\n\nThis integration module enables localization of [DevExtreme](http://js.devexpress.com/) widgets using the global [Intl](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl) object of the  ECMAScript Internationalization API.\n\nUsing *Intl* is an alternative to the *Globalize* based mechanism [documented here](https://js.devexpress.com/Documentation/Guide/Widgets/Common/UI_Widgets/Localization_-_Use_Globalize/). Please note that in comparison to *Globalize*, there are some restrictions which are described in [the section *Restrictions*](#restrictions) below.\n\n## Getting started\n\n### Using a script tag\n\nAdd a script tag for `devextreme-intl` behind your tag for the `devextreme` script:\n\n```html\n\u003cscript src=\"https://unpkg.com/devextreme-intl@18.2/dist/devextreme-intl.js\"\u003e\u003c/script\u003e\n```\n\nor\n\n```html\n\u003cscript src=\"https://unpkg.com/devextreme-intl@18.2/dist/devextreme-intl.min.js\"\u003e\u003c/script\u003e\n```\n\nSee [this example with the relevant script tag in place](/examples/bundled.html).\n\n### Using npm modules\n\n1. Install the `devextreme-intl` module:\n\n    `npm install devextreme-intl`\n\n2. Use an `import` call to make `devextreme-intl` available to your code:\n\n    ```js\n    import 'devextreme-intl';\n    ```\n\nSee [this example using modules](/examples/modular.html).\n\n## Browser support\n\n[Some older browsers](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl#Browser_compatibility) don't support the ECMAScript Internationalization API. You can use the [Intl.js polyfill](https://github.com/andyearnshaw/Intl.js/#intljs-) to support a wide range of browsers.\n\n## API\n\nIn addition to the [DevExtreme format object structure](https://js.devexpress.com/Documentation/ApiReference/Common/Object_Structures/format/), formats can be specified which are compatible with the  `options` parameter of the Intl [NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat#Parameters) and [DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat#Parameters).\n\nNote that the [DevExtreme format object structure](https://js.devexpress.com/Documentation/ApiReference/Common/Object_Structures/format/) documentation page refers to special structures supported by *Globalize*. When using *DevExtreme-Intl*, these structures are either unsupported or need to adhere to [Intl](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl) structural requirements instead.\n\nHere is an example for the use of Intl formats in DataGrid columns:\n\n```js\n$(\"#datagrid\").dxDataGrid({\n    dataSource: dataSource,\n    columns: [{\n        dataField: \"OrderDate\",\n        format: { year: \"2-digit\", month: \"narrow\", day: \"2-digit\" }\n    }, {\n        dataField: \"SaleAmount\",\n        format: { style: \"currency\", currency: \"EUR\", useGrouping: true, minimumSignificantDigits: 3 }\n    }]\n});\n```\n\nSee [more examples here](/examples).\n\nYou can find full documentation of the localization API in the [DevExtreme documentation](https://js.devexpress.com/Documentation/Guide/Widgets/Common/UI_Widgets/Localization/).\n\n## Restrictions\n\n**NOTE: Starting with version 17.2, these restrictions are not relevant.**\n\nDate parsing is not supported by the ECMAScript Internationalization API. You can read about the position of the ECMAScript community [here](https://bugs.ecmascript.org/show_bug.cgi?id=770).\nAs a result, some minor DevExtreme functionality is restricted.\n\n- If you specify a [displayFormat](https://js.devexpress.com/Documentation/ApiReference/UI_Widgets/dxDateBox/Configuration/#displayFormat) for the  [DateBox](https://js.devexpress.com/Documentation/ApiReference/UI_Widgets/dxDateBox/) widget, any value typed into the editor by a user will not be parsed correctly.\n- If you enable [searchPanel](https://js.devexpress.com/Documentation/ApiReference/UI_Widgets/dxDataGrid/Configuration/searchPanel/) for the [DataGrid](https://js.devexpress.com/Documentation/ApiReference/UI_Widgets/dxDataGrid/) widget, the search by date columns will not work.\n- If you configure a [format](https://js.devexpress.com/Documentation/ApiReference/UI_Widgets/dxDataGrid/Configuration/columns/#format) for a DataGrid column, any value typed into the editor by a user will not be parsed correctly.\n\nIf a widget tries to parse a value in one of these scenarios, you will see this message in the JavaScript console:\n\n\u003e W0012 - Date parsing is invoked while the parser is not defined.\n\u003e See: \u003chttp://js.devexpress.com/error/W0012\u003e\n\nYou can specify a custom [parser function](https://js.devexpress.com/Documentation/ApiReference/Common/Object_Structures/format/#parser) as part of the `displayFormat` or `column.format` configuration objects to overcome this limitation. Here are some examples:\n\n```js\n// Value will be parsed correctly\n$(\"#datebox\").dxDateBox({\n    value: new Date()\n});\n\n// Value will not be parsed correctly\n$(\"#datebox\").dxDateBox({\n    value: new Date(),\n    displayFormat: {\n        year: \"numeric\",\n        month: \"long\"\n    }\n});\n\n// Add a custom parser function\n$(\"#datebox\").dxDateBox({\n    value: new Date(),\n    displayFormat: {\n        year: \"numeric\",\n        month: \"long\",\n        parser: function(dateString) {\n            // return parsed date if possible\n        }\n    }\n});\n\n// Search and manual data entry will not work for the date column\n$(\"#datagrid\").dxDataGrid({\n    dataSource: dataSource,\n    searchPanel: {\n        visible: true\n    },\n    columns: [{\n        dataField: \"OrderDate\",\n        format: {\n            year: \"numeric\",\n            month: \"2-digit\",\n            day: \"2-digit\"\n        }\n    }]\n});\n\n// Add a custom parser function\n$(\"#datagrid\").dxDataGrid({\n    dataSource: dataSource,\n    searchPanel: {\n        visible: true\n    },\n    columns: [{\n        dataField: \"OrderDate\",\n        format: {\n            year: \"numeric\",\n            month: \"2-digit\",\n            day: \"2-digit\",\n            parser: function(dateString) {\n                // return parsed date if possible\n            }\n        }\n    }]\n});\n```\n\n## Development\n\n### Install external development dependencies\n\n    npm install\n\n### Run tests\n\n    npm test\n\n### Build\n\nBuild the distribution UMD bundles `devextreme-intl.js` and `devextreme-intl.min.js` into the `/dist` folder.\n\n    npm run build\n\n## License\n\nFamiliarize yourself with the\n[DevExtreme License](https://js.devexpress.com/Licensing/).\n\n**DevExtreme integration with ECMAScript Internationalization API is released as an MIT-licensed (free and open-source) add-on to DevExtreme.**\n\n## Support \u0026 Feedback\n\n- For support and feedback on general Intl questions, use [MDN Feedback](https://developer.mozilla.org/ru/docs/MDN/Feedback)\n- For questions regarding DevExtreme libraries and JavaScript APIs, use the [DevExpress Support Center](https://www.devexpress.com/Support/Center)\n- For DevExtreme Intl integration bugs, questions and suggestions, use the [GitHub issue tracker](https://github.com/DevExpress/DevExtreme-Intl/issues)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevexpress%2Fdevextreme-intl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevexpress%2Fdevextreme-intl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevexpress%2Fdevextreme-intl/lists"}