{"_id":"@angelofana/emoji-json","_rev":"1-b4dfcd97e0fe28c0d56b20efa65159b8","name":"@angelofana/emoji-json","dist-tags":{"latest":"15.1.1"},"versions":{"15.1.0":{"name":"@angelofana/emoji-json","version":"15.1.0","description":"适配了 简体中文 的 emoji.json 数据源，与 unicode 联盟的数据源保持同步并版本对齐","main":"dist/emoji-tree.json","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"angelofan"},"license":"MIT","bugs":{"url":"https://github.com/angelofan/emoji-json/issues"},"homepage":"https://github.com/angelofan/emoji-json#readme","keywords":["emoji","json","unicode"],"_id":"@angelofana/emoji-json@15.1.0","gitHead":"367c11f988d07d0c662e532365fe1b43f264beca","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-2qa3wCA9Rqz2qUxiq2s0DfOE54L9wZFaYU53XDlTW1aAZw8UX/sU+tU9Nh5k5h2vNwo4y+t6F2getntv5OxIzQ==","shasum":"3a0b8662e6f625364f73cd5469619229c12849b3","tarball":"https://registry.npmjs.org/@angelofana/emoji-json/-/emoji-json-15.1.0.tgz","fileCount":5,"unpackedSize":2592021,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2NO1FT0BDIXG2OD9AtqcIb1vpwyF63SLWhp878OV3XQIhAM8FUQ/BE+Lkp5WiJMpFOQ5QCisWuXVmLLZ59at2/YIA"}]},"_npmUser":{"name":"angelofana","email":"1253264809@qq.com"},"directories":{},"maintainers":[{"name":"angelofana","email":"1253264809@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/emoji-json_15.1.0_1703857785902_0.5538262432872783"},"_hasShrinkwrap":false},"15.1.1":{"name":"@angelofana/emoji-json","version":"15.1.1","description":"适配了 简体中文 的 emoji.json 数据源，与 unicode 联盟的数据源保持同步并版本对齐","main":"emoji-array.json","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"angelofan"},"license":"MIT","bugs":{"url":"https://github.com/angelofan/emoji-json/issues"},"homepage":"https://github.com/angelofan/emoji-json#readme","keywords":["emoji","json","unicode"],"_id":"@angelofana/emoji-json@15.1.1","gitHead":"94ed91f1eede2390d5b6f87d060e1ee645d83d64","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-M2DvkgsmY9//zupkJwirCQL6XLcXZM7bM4KaRTN/x4CkDmJZfriZhPjycqwLOVj+aOtM6myQAOlpY1C3GD27QA==","shasum":"43426ba1decd973a28ebcfe785725bec163e8872","tarball":"https://registry.npmjs.org/@angelofana/emoji-json/-/emoji-json-15.1.1.tgz","fileCount":5,"unpackedSize":2593949,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYC7hO9BwWDLfa2R0t43RXemDZj83zUzuhVW5/BQ02AwIhAJM5sXLmbWmemo/5q4icfpYelBMR3JukeOgUK3WbscHr"}]},"_npmUser":{"name":"angelofana","email":"1253264809@qq.com"},"directories":{},"maintainers":[{"name":"angelofana","email":"1253264809@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/emoji-json_15.1.1_1703926042907_0.37811107910732544"},"_hasShrinkwrap":false}},"time":{"created":"2023-12-29T13:49:45.783Z","15.1.0":"2023-12-29T13:49:46.199Z","modified":"2023-12-30T08:47:23.348Z","15.1.1":"2023-12-30T08:47:23.136Z"},"maintainers":[{"name":"angelofana","email":"1253264809@qq.com"}],"description":"适配了 简体中文 的 emoji.json 数据源，与 unicode 联盟的数据源保持同步并版本对齐","homepage":"https://github.com/angelofan/emoji-json#readme","keywords":["emoji","json","unicode"],"author":{"name":"angelofan"},"bugs":{"url":"https://github.com/angelofan/emoji-json/issues"},"license":"MIT","readme":"# emoji-json\r\n\r\n## 介绍\r\n\r\n此仓库有适配了 简体中文 的 emoji.json 数据源，与 unicode 联盟的数据源保持同步并版本对齐。\r\n\r\n另外 此仓库也包含了 [emoji.json](https://github.com/amio/emoji.json) 的数据转换器，包括了所有从 源数据 转换的程序。\r\n\r\n将 [emoji.json](https://github.com/amio/emoji.json) 的数据中增加一些字段的 i18n 属性，并在 i18n 属性中添加简体中文翻译。\r\n\r\n### 如何与 unicode 联盟的数据源保持同步并版本对齐\r\n\r\n正如上文所说，此仓库是基于 [emoji.json](https://github.com/amio/emoji.json) 数据进行二次转换处理的。[emoji.json](https://github.com/amio/emoji.json) 是基于 unicode 联盟发布的的数据源 emoji-test.txt 进行 json 处理的。\r\n\r\n所以此仓库视为是间接地与 unicode 联盟的数据源进行同步，并且导出的数据与其版本号保持一致。\r\n\r\n## 功能描述\r\n\r\n### 抽取可供本地化的字段\r\n\r\n首先，程序会将 `group` 、 `subgroup` 、 `name` 三个属性值提取出来，以供本地化翻译和校验。\r\n\r\n翻译完成之后，在界面中进行设置，设置完成之后，即可进行数据导出操作。\r\n\r\n### 转换后的数据导出\r\n\r\n原数据为数组扁平式结构，此程序提供 2 种转换结果：\r\n\r\n- 数组结构：扁平式 emoji 列表，与原数据结构一致，增加了 `group_i18n` 、 `subgroup_i18n` 、 `name_i18n` 三个属性，用于存储本地化语言。删除了 category 属性，以为这个属性全部是由 `group` 和 `subgroup` 拼接而成的。\r\n- 树形结构：嵌套式 emoji 列表，基于数组结构按照 `group` 和 `subgroup` 对数据进行了树形嵌套处理。嵌套后的数据结构为三层树形结构，外面两层都是 `[name: '', name_i18n: [], list: []]` 结构， `list` 是内层数组。第一层是 主分组，第二层是 次分组，第三层是 emoji 列表。最内层的 emoji 列表删除了用于分组的 `group` 和 `subgroup` 及其 i18n 属性。\r\n\r\n树形结构 是基于 数组结构 的运行结果进行二次处理的，所以在运行 树形结构 之前，要先运行一次 数组结构。\r\n\r\n## 数据结构\r\n\r\n数组结构 emoji-array.json\r\n\r\n```json\r\n[\r\n    // 表情数据\r\n    {\r\n        \"codes\": \"1F600\", // Unicode\r\n        \"char\": \"😀\", // 字符\r\n        \"name\": \"grinning face\", // 表情名称\r\n        \"group\": \"Smileys & Emotion\", // 一级分组名称\r\n        \"subgroup\": \"face-smiling\", // 二级分组名称\r\n        \"group_i18n\": {\r\n            // 一级分组名称的本地化数据\r\n            \"en\": \"Smileys & Emotion\",\r\n            \"zh_CN\": \"表情与情感\"\r\n        },\r\n        \"subgroup_i18n\": {\r\n            // 二级分组名称的本地化数据\r\n            \"en\": \"face-smiling\",\r\n            \"zh_CN\": \"脸-微笑\"\r\n        },\r\n        \"name_i18n\": {\r\n            // 表情名称的本地化数据\r\n            \"en\": \"grinning face\",\r\n            \"zh_CN\": \"笑脸\"\r\n        }\r\n    },\r\n    ...\r\n]\r\n```\r\n\r\n树形结构 emoji-tree.json\r\n\r\n```json\r\n[\r\n    // 一级分组\r\n    {\r\n        \"name\": \"Smileys & Emotion\", // 一级分组名称\r\n        \"name_i18n\": {\r\n            // 一级分组的本地化数据\r\n            \"en\": \"Smileys & Emotion\",\r\n            \"zh_CN\": \"表情与情感\"\r\n        },\r\n        \"list\": [\r\n            // 二级分组\r\n            {\r\n                \"name\": \"face-smiling\", // 二级分组名称\r\n                \"name_i18n\": {\r\n                    // 二级分组的本地化数据\r\n                    \"en\": \"face-smiling\",\r\n                    \"zh_CN\": \"脸-微笑\"\r\n                },\r\n                \"list\": [\r\n                    // 表情数据\r\n                    {\r\n                        \"codes\": \"1F600\", // Unicode\r\n                        \"char\": \"😀\", // 字符\r\n                        \"name\": \"grinning face\", // 表情名称\r\n                        \"name_i18n\": {\r\n                            // 表情名称的本地化数据\r\n                            \"en\": \"grinning face\",\r\n                            \"zh_CN\": \"笑脸\"\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\r\n### 使用 npm 安装\r\n\r\n```bash\r\nnpm install @angelofana/emoji-json\r\n```\r\n\r\n```javascript\r\n// 数组结构 emoji-array\r\nvar emoji_array = require('emoji-json/emoji-array.json');\r\nconsole.log(emoji_array);\r\n\r\n// 树形结构 emoji-tree\r\nvar emoji_tree = require('emoji-json/emoji-tree.json');\r\nconsole.log(emoji_tree);\r\n```\r\n\r\n### 使用 CDN 版本\r\n\r\n依赖 jQuery 1.0 以上版本\r\n\r\n```html\r\n<script src=\"https://code.jquery.com/jquery-3.7.1.min.js\"></script>\r\n<script>\r\n    // 数组结构 emoji-array\r\n    var emoji_array = $.ajax({url:\"https://unpkg.com/@angelofana/emoji-json@15.1.1/emoji-array.json\",async:false}).responseJSON;\r\n    console.log(emoji_array);\r\n\r\n    // 树形结构 emoji-tree\r\n    var emoji_tree = $.ajax({url:\"https://unpkg.com/@angelofana/emoji-json@15.1.1/emoji-tree.json\",async:false}).responseJSON;\r\n    console.log(emoji_tree);\r\n</script>\r\n```\r\n\r\n### 私有部署\r\n\r\n将 `emoji-array.json` 和 `emoji-tree.json` 粘贴到自己的项目中\r\n\r\n### 自己动手进行转换\r\n\r\n1.  克隆仓库 `git clone https://github.com/angelofan/emoji-json.git`\r\n2.  运行 `index.html`\r\n3.  按 `F12` 打开控制台，查看提示并完成转换\r\n\r\n## 开源许可证\r\n\r\nMIT","readmeFilename":"README.md"}