# emoji-json **Repository Path**: angelofan/emoji-json ## Basic Information - **Project Name**: emoji-json - **Description**: 适配了 简体中文 的 emoji.json 数据源,与 unicode 联盟的数据源保持同步并版本对齐 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: https://github.com/angelofan/emoji-json - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-12-29 - **Last Updated**: 2024-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: JSON, Emoji ## README # emoji-json ## 介绍 此仓库有适配了 简体中文 的 emoji.json 数据源,与 unicode 联盟的数据源保持同步并版本对齐。 另外 此仓库也包含了 [emoji.json](https://github.com/amio/emoji.json) 的数据转换器,包括了所有从 源数据 转换的程序。 将 [emoji.json](https://github.com/amio/emoji.json) 的数据中增加一些字段的 i18n 属性,并在 i18n 属性中添加简体中文翻译。 ### 如何与 unicode 联盟的数据源保持同步并版本对齐 正如上文所说,此仓库是基于 [emoji.json](https://github.com/amio/emoji.json) 数据进行二次转换处理的。[emoji.json](https://github.com/amio/emoji.json) 是基于 unicode 联盟发布的的数据源 emoji-test.txt 进行 json 处理的。 所以此仓库视为是间接地与 unicode 联盟的数据源进行同步,并且导出的数据与其版本号保持一致。 ## 功能描述 ### 抽取可供本地化的字段 首先,程序会将 `group` 、 `subgroup` 、 `name` 三个属性值提取出来,以供本地化翻译和校验。 翻译完成之后,在界面中进行设置,设置完成之后,即可进行数据导出操作。 ### 转换后的数据导出 原数据为数组扁平式结构,此程序提供 2 种转换结果: - 数组结构:扁平式 emoji 列表,与原数据结构一致,增加了 `group_i18n` 、 `subgroup_i18n` 、 `name_i18n` 三个属性,用于存储本地化语言。删除了 category 属性,以为这个属性全部是由 `group` 和 `subgroup` 拼接而成的。 - 树形结构:嵌套式 emoji 列表,基于数组结构按照 `group` 和 `subgroup` 对数据进行了树形嵌套处理。嵌套后的数据结构为三层树形结构,外面两层都是 `[name: '', name_i18n: [], list: []]` 结构, `list` 是内层数组。第一层是 主分组,第二层是 次分组,第三层是 emoji 列表。最内层的 emoji 列表删除了用于分组的 `group` 和 `subgroup` 及其 i18n 属性。 树形结构 是基于 数组结构 的运行结果进行二次处理的,所以在运行 树形结构 之前,要先运行一次 数组结构。 ## 数据结构 数组结构 emoji-array.json ```json [ // 表情数据 { "codes": "1F600", // Unicode "char": "😀", // 字符 "name": "grinning face", // 表情名称 "group": "Smileys & Emotion", // 一级分组名称 "subgroup": "face-smiling", // 二级分组名称 "group_i18n": { // 一级分组名称的本地化数据 "en": "Smileys & Emotion", "zh_CN": "表情与情感" }, "subgroup_i18n": { // 二级分组名称的本地化数据 "en": "face-smiling", "zh_CN": "脸-微笑" }, "name_i18n": { // 表情名称的本地化数据 "en": "grinning face", "zh_CN": "笑脸" } }, ... ] ``` 树形结构 emoji-tree.json ```json [ // 一级分组 { "name": "Smileys & Emotion", // 一级分组名称 "name_i18n": { // 一级分组的本地化数据 "en": "Smileys & Emotion", "zh_CN": "表情与情感" }, "list": [ // 二级分组 { "name": "face-smiling", // 二级分组名称 "name_i18n": { // 二级分组的本地化数据 "en": "face-smiling", "zh_CN": "脸-微笑" }, "list": [ // 表情数据 { "codes": "1F600", // Unicode "char": "😀", // 字符 "name": "grinning face", // 表情名称 "name_i18n": { // 表情名称的本地化数据 "en": "grinning face", "zh_CN": "笑脸" } }, ... ] }, ... ] }, ... ] ``` ## 使用说明 ### 使用 npm 安装 ```bash npm install @angelofana/emoji-json ``` ```javascript // 数组结构 emoji-array var emoji_array = require('emoji-json/emoji-array.json'); console.log(emoji_array); // 树形结构 emoji-tree var emoji_tree = require('emoji-json/emoji-tree.json'); console.log(emoji_tree); ``` ### 使用 CDN 版本 依赖 jQuery 1.0 以上版本 ```html ``` ### 私有部署 将 `emoji-array.json` 和 `emoji-tree.json` 粘贴到自己的项目中 ### 自己动手进行转换 1. 克隆仓库 `git clone https://github.com/angelofan/emoji-json.git` 2. 运行 `index.html` 3. 按 `F12` 打开控制台,查看提示并完成转换 ## 开源许可证 MIT