{"_id":"@cordova-ohos/cordova-plugin-globalization","_rev":"3-7476470f321befff16961370f9308639","name":"@cordova-ohos/cordova-plugin-globalization","dist-tags":{"latest":"1.11.1"},"versions":{"1.11.0":{"name":"@cordova-ohos/cordova-plugin-globalization","version":"1.11.0","keywords":["cordova","globalization","ecosystem:cordova","cordova-openharmony"],"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","_id":"@cordova-ohos/cordova-plugin-globalization@1.11.0","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"},{"name":"wanpengsz","email":"wanpengsz@163.com"},{"name":"xkh111","email":"xukaihui11@163.com"}],"bugs":{"url":"https://gitcode.com/OpenHarmony-Cordova/cordova-plugin-globalization/issues"},"dist":{"shasum":"ac621783ce4a7cb40e2a0088e3e8f935f7a70c34","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-globalization/-/cordova-plugin-globalization-1.11.0.tgz","fileCount":9,"integrity":"sha512-iV6NkJ/pMyon8Osh9ayosjIFjvS+rEvZHUuVcWt0PC0/8nWD8jnkeCKaCEMcBgga4Dj6z9xXh2mHs5rtl3ABhw==","signatures":[{"sig":"MEUCIQCAYseRhPjZvQd2eMXDOFyH1k7VR0KxNtHofsfac9yzWAIgUIGRMBeE6lVkXBCJ0qHHK4I/vZL2HSn0AMFg8Mc1c80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77758},"cordova":{"id":"cordova-plugin-globalization","platforms":["ohos"]},"engines":{"cordovaDependencies":{"1.11.0":{"hcordova":">=1.0.0","@cordova-ohos/ohos":">=2.0.0"}}},"gitHead":"2ddbc286c10c32bcf0c91716ee19b3232e68364c","_npmUser":{"name":"wanpengsz","email":"wanpengsz@163.com"},"repository":{"url":"gitcode:OpenHarmony-Cordova/cordova-plugin-globalization","type":"git"},"_npmVersion":"9.6.2","description":"Cordova globalization Plugin","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-globalization_1.11.0_1773994206358_0.4509103350805055","host":"s3://npm-registry-packages-npm-production"}},"1.11.1":{"name":"@cordova-ohos/cordova-plugin-globalization","version":"1.11.1","description":"Cordova globalization Plugin","cordova":{"id":"cordova-plugin-globalization","platforms":["ohos"]},"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-globalization"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-globalization/issues"},"keywords":["cordova","globalization","ecosystem:cordova","cordova-openharmony"],"engines":{"cordovaDependencies":{"1.11.1":{"@cordova-ohos/ohos":">=2.0.0","hcordova":">=1.0.0"}}},"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","_id":"@cordova-ohos/cordova-plugin-globalization@1.11.1","gitHead":"d27b3767cc70755d470d1f7ab633223ad78a9ee1","_nodeVersion":"22.0.0","_npmVersion":"10.5.1","dist":{"integrity":"sha512-VgpAsyozY4t5IK2dTI8f1wHz2nTAw5ulN84faRHh3AtLvOSJ9zqqP8fWcSAOj4B+5WoZTSojLumBLcQKvJHrjA==","shasum":"951b474a2195017e2cb66b304c419438fbdc6396","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-globalization/-/cordova-plugin-globalization-1.11.1.tgz","fileCount":10,"unpackedSize":98341,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBR10FIpWmT7GTnM2lzFrF7ZGNv6EVVhXlZVGHLh9/k9AiEAi4IJAQcg8TZr2JoxkRVn7QRGqMzR5xmq2+BKvfTLhaY="}]},"_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"directories":{},"maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"},{"name":"wanpengsz","email":"wanpengsz@163.com"},{"name":"xkh111","email":"xukaihui11@163.com"},{"name":"hcordova","email":"chenlihuiabc@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cordova-plugin-globalization_1.11.1_1785152866336_0.6796418539582763"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-20T08:10:06.296Z","modified":"2026-07-27T11:47:46.668Z","1.11.0":"2026-03-20T08:10:06.506Z","1.11.1":"2026-07-27T11:47:46.481Z"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-globalization/issues"},"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","keywords":["cordova","globalization","ecosystem:cordova","cordova-openharmony"],"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-globalization"},"description":"Cordova globalization Plugin","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"},{"name":"wanpengsz","email":"wanpengsz@163.com"},{"name":"xkh111","email":"xukaihui11@163.com"},{"name":"hcordova","email":"chenlihuiabc@163.com"}],"readme":"# <center>cordova-plugin-globalization</center>\r\n\r\n[![zh-CN](https://img.shields.io/badge/lang-中文-blue.svg)](README.md)\r\n[![en](https://img.shields.io/badge/lang-English-blue.svg)](README.en.md)\r\n\r\n本项目基于 [cordova-plugin-globalization@1.11.0](https://www.npmjs.com/package/cordova-plugin-globalization/v/1.11.0) 开发，本文档重点阐述其在 OpenHarmony（OHOS）系统中的具体应用。\r\n\r\n- [cordova-plugin-globalization](#cordova-plugin-globalization)\r\n  - [简介](#简介)\r\n  - [支持平台](#支持平台)\r\n  - [下载安装](#下载安装)\r\n    - [从 npm 安装（推荐）](#从-npm-安装推荐)\r\n    - [指定平台安装 ohos](#指定平台安装-ohos)\r\n    - [从 GitCode 仓库安装](#从-gitcode-仓库安装)\r\n    - [离线安装（本地包）](#离线安装本地包)\r\n    - [安装后验证](#安装后验证)\r\n    - [卸载](#卸载)\r\n  - [约束与限制](#约束与限制)\r\n    - [兼容性](#兼容性)\r\n  - [使用示例](#使用示例)\r\n    - [1. 获取区域信息](#1-获取区域信息)\r\n      - [成功回调参数](#成功回调参数)\r\n      - [错误回调参数](#错误回调参数)\r\n    - [2. 格式化日期](#2-格式化日期)\r\n      - [参数说明](#参数说明)\r\n      - [成功回调参数](#成功回调参数-1)\r\n    - [3. 解析日期](#3-解析日期)\r\n    - [4. 获取日期模式](#4-获取日期模式)\r\n    - [5. 获取月名称](#5-获取月名称)\r\n    - [6. 获取是否夏令时](#6-获取是否夏令时)\r\n    - [7. 获取每周的第一天](#7-获取每周的第一天)\r\n    - [8. 格式化数字](#8-格式化数字)\r\n    - [9. 获取数字模式](#9-获取数字模式)\r\n    - [10. 字符串转数字](#10-字符串转数字)\r\n    - [11. 获取货币模式](#11-获取货币模式)\r\n  - [使用说明](#使用说明)\r\n    - [配置参数](#配置参数)\r\n    - [使用注意](#使用注意)\r\n  - [新增特性](#新增特性)\r\n  - [目录结构](#目录结构)\r\n  - [贡献代码](#贡献代码)\r\n  - [许可证](#许可证)\r\n  - [官方资源](#官方资源)\r\n\r\n\r\n## 简介\r\n\r\n`cordova-plugin-globalization` 是 Harmony Cordova 生态系统中一款核心插件，提供对设备全球化功能的访问权限，帮助开发者根据设备的区域设置获取地区、语言、日期、时间及数字格式化信息。\r\n\r\n**重要提示：** 现代浏览器和 Web 环境已经原生支持国际化功能，可以直接使用现代浏览器提供的国际化功能，如果您是老的 Android 项目移植到 OHOS，保持接口统一，仍可以使用该插件，如果您是新项目，不建议使用该插件。\r\n\r\n- 获取设备当前的区域和语言设置\r\n\r\n- 根据区域规则格式化日期、时间、数字和货币\r\n\r\n- 从区域特定字符串解析日期和数字\r\n\r\n- 获取设备的时区信息\r\n\r\n- 支持通用和区域特定的区域标识符\r\n\r\n## 支持平台\r\n\r\n- **Android**：API 19 及以上（Android 4.4+）\r\n\r\n- **iOS**：10.0 及以上\r\n\r\n- **OHOS**：5.0+\r\n\r\n## 下载安装\r\n\r\n通过 hcordova CLI 即可快速安装插件，支持从 npm 仓库或 GitCode 仓库获取。\r\n\r\n### 从 npm 安装（推荐）\r\n\r\n```bash\r\n# 使用 hcordova CLI 安装\r\n# 安装 hcordova 命令化工具\r\nnpm install -g hcordova\r\n# 全平台安装插件（稳定版）\r\nhcordova plugin add cordova-plugin-globalization\r\n```\r\n\r\n### 指定平台安装 ohos\r\n\r\n仅为 OHOS 平台安装插件：\r\n\r\n```bash\r\n# 仅安装到 OHOS 平台\r\nhcordova plugin add cordova-plugin-globalization --platform ohos\r\n\r\n# 指定版本安装\r\nhcordova plugin add cordova-plugin-globalization@1.0.0 --platform ohos\r\n```\r\n\r\n### 从 GitCode 仓库安装\r\n\r\n仅为 OHOS 平台安装插件（开发版）：\r\n\r\n```bash\r\n# 仅安装到 OHOS 平台\r\n# 开发版安装\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-globalization.git --platform ohos\r\n\r\n# 指定标签/分支安装\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-globalization.git@develop --platform ohos\r\n```\r\n\r\n### 离线安装（本地包）\r\n\r\n适用于无网络环境，先下载插件包到本地，再执行离线安装：\r\n\r\n```bash\r\n# 下载插件包到本地（示例路径：~/Downloads/cordova-plugin-globalization）\r\n# 执行离线安装\r\nhcordova plugin add ~/Downloads/cordova-plugin-globalization --platform ohos\r\n```\r\n\r\n### 安装后验证\r\n\r\n安装完成后，可通过以下命令验证插件是否成功添加到项目中：\r\n\r\n```bash\r\n# 查看已安装的插件列表，若包含本插件 ID 则表示插件已成功安装\r\nhcordova plugin list\r\n```\r\n\r\n### 卸载\r\n\r\n```bash\r\n# Cordova CLI 全平台卸载\r\nhcordova plugin remove cordova-plugin-globalization \r\n# 指定平台卸载\r\nhcordova plugin remove cordova-plugin-globalization --platform ohos\r\n```\r\n\r\n## 约束与限制\r\n\r\n1. 现代浏览器和 Web 环境已原生支持国际化功能，新项目不建议使用本插件；\r\n2. 适用于老 Android 项目移植到 OHOS 场景，用于保持接口统一；\r\n3. 所有 API 方法均为异步执行，需通过成功回调和错误回调处理结果。\r\n\r\n### 兼容性\r\n\r\n支持：\r\n\r\n| 项目 | 版本/信息 |\r\n|-----|--------|\r\n| SDK | API12+ |\r\n| IDE | DevEco Studio: 5.0+ |\r\n| ROM | 5.1+ |\r\n| Emulator | OpenHarmony 6.0+ |\r\n\r\n在以下版本中已测试通过：\r\n\r\n| 项目 | 版本/信息 |\r\n|-----|--------|\r\n| @cordova-ohos/ohos | 14.0.1-ohos-14.0.1 |\r\n| SDK | 5.0.0(12) |\r\n| IDE | DevEco Studio: 6.0.13.200 |\r\n| ROM | 5.1.0.120 SP3 |\r\n| Emulator | OpenHarmony 6.0.1(21) |\r\n\r\n## 使用示例\r\n\r\n所有 API 方法均为异步执行，使用成功回调和错误回调处理结果。插件通过 `navigator.globalization` 对象暴露接口。\r\n\r\n### 1. 获取区域信息\r\n\r\n获取设备当前的区域和语言设置信息。\r\n\r\n```javascript\r\n// 两个 API 相同的功能\r\nnavigator.globalization.getLocaleName(\r\n    function (local) {\r\n        console.log(local.value);\r\n    },\r\n    function () {\r\n      alert('Error getting language\\n');\r\n    }\r\n);\r\n\r\nnavigator.globalization.getPreferredLanguage(\r\n    function (language) {\r\n        console.log(language.value);\r\n    },\r\n    function () {\r\n      alert('Error getting language\\n');\r\n    }\r\n);\r\n```\r\n\r\n#### 成功回调参数\r\n\r\n- `value`: 字符串 - 区域标识符（例如：\"en_US\"、\"zh_CN\"、\"ja_JP\"）\r\n\r\n#### 错误回调参数\r\n\r\n- `code`: 数字 - 错误代码\r\n\r\n- `message`: 字符串 - 人类可读的错误信息\r\n\r\n### 2. 格式化日期\r\n\r\n将 Date 对象格式化为区域特定的字符串。\r\n\r\n```javascript\r\nnavigator.globalization.dateToString(\r\n    new Date(),\r\n    function (date) { \r\n      console.log(date.value); \r\n    },\r\n    function () {\r\n       alert('Error getting dateString\\n'); \r\n    },\r\n    { formatLength: 'short', selector: 'date and time' }\r\n);\r\n```\r\n\r\n#### 参数说明\r\n\r\n- `date`: Date 类型 - 待格式化的日期\r\n\r\n- `options`: 对象（可选）\r\n       \r\n\r\n    - `formatLength`: 字符串 - \"short\"（短）、\"medium\"（中）、\"long\"（长）、\"full\"（完整）（默认：\"medium\"）\r\n\r\n    - `selector`: 字符串 - \"date\"（日期）、\"time\"（时间）、\"date and time\"（日期和时间）（默认：\"date and time\"）\r\n\r\n    - `locale`: 字符串 - 要使用的特定区域（覆盖设备区域）\r\n\r\n#### 成功回调参数\r\n\r\n- `value`: 字符串 - 格式化后的日期字符串（例如：en_US 区域为 \"12/4/2025\"，zh_CN 区域为 \"2025-12-04\"）\r\n\r\n### 3. 解析日期\r\n\r\n将区域特定的日期字符串解析为 Date 对象。\r\n\r\n```javascript\r\nnavigator.globalization.stringToDate(\r\n    '2012/7/7',\r\n    function (date) {\r\n      alert('month:' + date.month +\r\n        ' day:'  + date.day   +\r\n        ' year:' + date.year  + '\\n');\r\n    },\r\n    function () {alert('Error getting date\\n');},\r\n    {selector: 'date'}\r\n);\r\n```\r\n\r\n### 4. 获取日期模式\r\n\r\n```javascript\r\nnavigator.globalization.getDatePattern(\r\n    function (date) { \r\n      alert('pattern: ' + date.pattern + '\\n'); \r\n    },\r\n    function () { alert('Error getting pattern\\n'); },\r\n    { formatLength: 'short', selector: 'date and time' }\r\n);\r\n```\r\n\r\n### 5. 获取月名称\r\n\r\n```javascript\r\nnavigator.globalization.getDateNames(\r\n    function (names) {\r\n        for (var i = 0; i < names.value.length; i++) {\r\n            alert('month: ' + names.value[i] + '\\n');\r\n        }\r\n    },\r\n    function () { alert('Error getting names\\n'); },\r\n    { type: 'wide', item: 'months' }\r\n);\r\n```\r\n\r\n### 6. 获取是否夏令时\r\n\r\n```javascript\r\nnavigator.globalization.isDayLightSavingsTime(\r\n    new Date(),\r\n    function (date) {alert('dst: ' + date.dst + '\\n');},\r\n    function () {alert('Error getting names\\n');}\r\n);\r\n```\r\n\r\n### 7. 获取每周的第一天\r\n\r\n```javascript\r\nnavigator.globalization.getFirstDayOfWeek(\r\n    function (day) {alert('day: ' + day.value + '\\n');},\r\n    function () {alert('Error getting day\\n');}\r\n);\r\n```\r\n\r\n### 8. 格式化数字\r\n\r\n将数字格式化为区域特定的字符串。\r\n\r\n```javascript\r\nnavigator.globalization.numberToString(\r\n    3.1415926,\r\n    function (number) {alert('number: ' + number.value + '\\n');},\r\n    function () {alert('Error getting number\\n');},\r\n    {type:'decimal'}\r\n);\r\n```\r\n\r\n### 9. 获取数字模式\r\n\r\n```javascript\r\nnavigator.globalization.getNumberPattern(\r\n    function (pattern) {alert('pattern: '  + pattern.pattern  + '\\n' +\r\n        'symbol: '   + pattern.symbol   + '\\n' +\r\n        'fraction: ' + pattern.fraction + '\\n' +\r\n        'rounding: ' + pattern.rounding + '\\n' +\r\n        'positive: ' + pattern.positive + '\\n' +\r\n        'negative: ' + pattern.negative + '\\n' +\r\n        'decimal: '  + pattern.decimal  + '\\n' +\r\n        'grouping: ' + pattern.grouping);},\r\n    function () {alert('Error getting pattern\\n');},\r\n    {type:'decimal'}\r\n);\r\n```\r\n\r\n### 10. 字符串转数字\r\n\r\n将字符串格式化为区域特定的数字。\r\n\r\n```javascript\r\nnavigator.globalization.stringToNumber(\r\n    '1234.56',\r\n    function (number) {alert('number: ' + number.value + '\\n');},\r\n    function () {alert('Error getting number\\n');},\r\n    {type:'decimal'}\r\n);\r\n```\r\n\r\n### 11. 获取货币模式\r\n\r\n```javascript\r\nnavigator.globalization.getCurrencyPattern(\r\n    'CNY',\r\n    function (pattern) {\r\n        alert('pattern: '  + pattern.pattern  + '\\n' +\r\n            'code: '     + pattern.code     + '\\n' +\r\n            'fraction: ' + pattern.fraction + '\\n' +\r\n            'rounding: ' + pattern.rounding + '\\n' +\r\n            'decimal: '  + pattern.decimal  + '\\n' +\r\n            'grouping: ' + pattern.grouping);\r\n    },\r\n    function () { alert('Error getting pattern\\n'); }\r\n);\r\n```\r\n\r\n## 使用说明\r\n\r\n### 配置参数\r\n\r\n无额外全局配置参数，各 API 方法的可选参数需根据实际使用场景，在调用时按需传入（详见各 API 参数说明）。\r\n\r\n### 使用注意\r\n\r\n1. 本插件适用于老 Android 项目移植到 OHOS 场景，用于保持接口统一；\r\n2. 新项目建议直接使用现代浏览器原生支持的国际化功能，无需安装本插件；\r\n3. 所有 API 均为异步执行，需正确处理成功回调和错误回调，避免程序异常。\r\n\r\n## 新增特性\r\n\r\n1. 适配 OHOS 5.0+ 系统，严格遵循 OpenHarmony 开发规范；\r\n   \r\n2. 保留原有插件核心 API 接口，确保老 Android 项目移植到 OHOS 后接口统一，无需大量修改代码；\r\n   \r\n3. 完善 API 使用说明，补充参数细节和示例，提升开发体验；\r\n   \r\n4. 兼容 Cordova 14.0.1-ohos 版本，确保插件正常集成和运行。\r\n\r\n## 目录结构\r\n\r\n```\r\ncordova-plugin-globalization/\r\n├── src/                          # 源代码目录\r\n│   └── main/                     # 主要源代码\r\n│       └── cpp/                  # C++ 原生代码\r\n│           └── Globalization/    # 全球化模块\r\n│               ├── Globalization.cpp  # 全球化功能的 C++ 实现\r\n│               └── Globalization.h    # 全球化功能的头文件\r\n├── www/                          # Web 资源目录\r\n│   ├── globalization.js          # JavaScript 全球化接口（Cordova 桥接层）\r\n│   └── GlobalizationError.js     # 全球化错误码定义\r\n├── .gitignore                    # Git 忽略文件配置\r\n├── LICENSE                       # 项目开源许可证\r\n├── OAT.xml                       # OpenHarmony 审核配置文件\r\n├── package.json                  # Node.js 包配置\r\n├── plugin.xml                    # Cordova 插件描述文件（核心配置）\r\n└── README.md                     # 项目说明文档\r\n```\r\n\r\n## 贡献代码\r\n\r\n使用过程中发现任何问题都可以提 [Issue](https://gitcode.com/CPF-Cordova/cordova-plugin-globalization/issues) ，当然也非常欢迎发 [PR](https://gitcode.com/CPF-Cordova/cordova-plugin-globalization/pulls) 共建。\r\n\r\n## 许可证\r\n\r\n本插件基于 **Apache License 2.0** 开源，详见 [LICENSE](LICENSE) 文件。\r\n\r\n## 官方资源\r\n\r\n1. **OHOS**：[https://gitcode.com/CPF-Cordova/cordova-plugin-globalization](https://gitcode.com/CPF-Cordova/cordova-plugin-globalization)\r\n\r\n2. **Android、iOS 插件说明**：[https://www.npmjs.com/package/cordova-plugin-globalization](https://www.npmjs.com/package/cordova-plugin-globalization)\r\n","readmeFilename":"README.md"}