|
| 1 | +# opencc-js [](https://www.npmjs.com/package/opencc-js) [](https://github.com/nk2028/opencc-js/actions?query=workflow%3ATest) [](https://www.jsdelivr.com/package/npm/opencc-js) |
| 2 | + |
| 3 | +开放中文转换 JavaScript 版 |
| 4 | + |
| 5 | +## 加载 |
| 6 | + |
| 7 | +**在 HTML 中加载** |
| 8 | + |
| 9 | +依次加载以下四个 `script` 标签: |
| 10 | + |
| 11 | +```html |
| 12 | +<!-- 下面一条必须加载 --> |
| 13 | +<script src="https://cdn.jsdelivr.net/npm/opencc-js@1.0.0/data.min.js"></script> |
| 14 | +<!-- 不需要简转繁时,可删除下面一条,以加快加载 --> |
| 15 | +<script src="https://cdn.jsdelivr.net/npm/opencc-js@1.0.0/data.cn2t.min.js"></script> |
| 16 | +<!-- 不需要繁转简时,可删除下面一条,以加快加载 --> |
| 17 | +<script src="https://cdn.jsdelivr.net/npm/opencc-js@1.0.0/data.t2cn.min.js"></script> |
| 18 | +<!-- 下面一条必须加载 --> |
| 19 | +<script src="https://cdn.jsdelivr.net/npm/opencc-js@1.0.0/bundle-broswer.min.js"></script> |
| 20 | +``` |
| 21 | + |
| 22 | +**在 Node.js 中加载** |
| 23 | + |
| 24 | +```sh |
| 25 | +npm install opencc-js |
| 26 | +``` |
| 27 | + |
| 28 | +```javascript |
| 29 | +const OpenCC = require('opencc-js'); |
| 30 | +``` |
| 31 | + |
| 32 | +## 使用 |
| 33 | + |
| 34 | +**基本用法** |
| 35 | + |
| 36 | +```javascript |
| 37 | +// 将繁体中文(香港)转换为简体中文(中国大陆) |
| 38 | +const converter = OpenCC.Converter({ from: 'hk', to: 'cn' }); |
| 39 | +console.log(converter('漢字,簡體字')); // output: 汉字,简体字 |
| 40 | +``` |
| 41 | + |
| 42 | +- `cn`: 简体中文(中国大陆) |
| 43 | +- `tw`: 繁体中文(台湾) |
| 44 | +- `twp`: 繁体中文(台湾,且转换词汇) |
| 45 | +- `hk`: 繁体中文(香港) |
| 46 | +- `jp`: 日本新字体 |
| 47 | +- `t`: 繁体中文(OpenCC 标准。除非你知道自己在做什么,否则请勿使用) |
| 48 | + |
| 49 | +**自订转换器** |
| 50 | + |
| 51 | +```javascript |
| 52 | +const converter = OpenCC.CustomConverter([ |
| 53 | + ['香蕉', 'banana'], |
| 54 | + ['蘋果', 'apple'], |
| 55 | + ['梨', 'pear'], |
| 56 | +]); |
| 57 | +console.log(converter('香蕉 蘋果 梨')); // output: banana apple pear |
| 58 | +``` |
| 59 | + |
| 60 | +**DOM 操作** |
| 61 | + |
| 62 | +```javascript |
| 63 | +// 将繁体中文(香港)转换为简体中文(中国大陆) |
| 64 | +const converter = OpenCC.Converter({ from: 'hk', to: 'cn' }); |
| 65 | +// 设置转换起点为根节点,即转换整个页面 |
| 66 | +const rootNode = document.documentElement; |
| 67 | +// 将所有 zh-HK 标签转为 zh-CN 标签 |
| 68 | +const HTMLConvertHandler = OpenCC.HTMLConverter(converter, rootNode, 'zh-HK', 'zh-CN'); |
| 69 | +// 开始转换 |
| 70 | +HTMLConvertHandler.convert(); |
| 71 | +// 复原 |
| 72 | +HTMLConvertHandler.restore(); |
| 73 | +``` |
| 74 | + |
| 75 | +class list 包含 `ignore-opencc` 的标签不会被转换(包括该标签的所有子节点)。 |
0 commit comments