# i18n - [Introduction](#section11660541593) - [Directory Structure](#section1464106163817) - [Constraints](#section1718733212019) - [Usage](#section894511013511) - [Repositories Involved](#section15583142420413) ## Introduction The i18n module provides a wide array of internationalization \(i18n\) APIs for implementing functions such as date and time formatting. ## Directory Structure The directory structure for the i18n module is as follows: ``` /base/global/ ├── i18n # Code repository for the i18n framework │ ├── frameworks # Core code of the i18n framework │ ├── interfaces # APIs │ │ ├── js # JavaScript APIs │ │ └── native # Native APIs ``` ## Constraints **Development language**: JavaScript **Language, script, and country codes**: The supported language must be represented by a two- or three-letter code defined in the ISO 639 standard; the supported script must be represented by a four-letter code defined in the ISO 15924 standard; the supported country must be represented by a two-letter code defined in the ISO 3166 standard. ## Usage Change the date and time formats \(such as the sequence of year, month, and day, month and week names, and 12-hour or 24-hour system\) following the system settings to adapt to the cultural habits of users in different locales. For details, see the API reference. The sample code is as follows: ``` const date = new Date(2021, 11, 17, 3, 24, 0); // Create a Date object containing date and time information. fmt = new Intl.DateTimeFormat('en-US') // Create a DateTimeFormat instance. console.log(fmt.format(date)); // Format the date and time by using the DateTimeFormat instance. ``` ## Repositories Involved Globalization subsystem **global\_i18n\_standard** global\_resmgr\_standard