跳转到主要内容

繁体中文和简体中文之间的转换

项目描述

Open Chinese Convert 开放中文转换

CMake Bazel MSVC Node.js CI Python CI AppVeyor

介绍 介紹

OpenCC

Open Chinese Convert (OpenCC, 开放中文转换) 是一个开源项目,用于繁体中文、简体中文和日本汉字(新字体)之间的转换。它支持字符级和短语级转换、字符变体转换以及中国大陆、台湾和香港之间的地区方言转换。这不是普通话和粤语等之间的翻译工具。

中文简繁转换开源项目,支持词汇级别的转换、异体字转换和地区习惯用词转换(中国大陆、台湾、香港、日本新字体)。不提供普通话与粤语等的转换。

讨论 (Telegram): https://t.me/open_chinese_convert

特点 特點

  • 严格区分「一简对多繁」和「一简对多异」。
  • 完全兼容异体字,可以实现动态替换。
  • 严格审校一简对多繁词条,原则为「能分则不合」。
  • 支持中国大陆、台湾、香港异体字和地区习惯用词转换,如「里」「裏」、「鼠标」「滑鼠」。
  • 词库和函数库完全分离,可以自由修改、导入、扩展。

安装

包管理器

预编译

使用

在线转换展示

警告:这不是一个API。 如果您以编程方式调用,您将被禁止使用。

https://opencc.byvoid.com/

Node.js

npm npm install opencc

JavaScript

const OpenCC = require('opencc');
const converter = new OpenCC('s2t.json');
converter.convertPromise("汉字").then(converted => {
  console.log(converted);  // 漢字
});

TypeScript

import { OpenCC } from 'opencc';
async function main() {
  const converter: OpenCC = new OpenCC('s2t.json');
  const result: string = await converter.convertPromise('汉字');
  console.log(result);
}

请参阅 demo.jsts-demo.ts

Python

pip install opencc (Windows, Linux, Mac)

import opencc
converter = opencc.OpenCC('s2t.json')
converter.convert('汉字')  # 漢字

C++

#include "opencc.h"

int main() {
  const opencc::SimpleConverter converter("s2t.json");
  converter.Convert("汉字");  // 漢字
  return 0;
}

带有Bazel的完整示例

C

#include "opencc.h"

int main() {
  opencc_t opencc = opencc_open("s2t.json");
  const char* input = "汉字";
  char* converted = opencc_convert_utf8(opencc, input, strlen(input));  // 漢字
  opencc_convert_utf8_free(converted);
  opencc_close(opencc);
  return 0;
}

文档: https://byvoid.github.io/OpenCC/

命令行

  • opencc --help
  • opencc_dict --help
  • opencc_phrase_extract --help

其他(非官方)

配置文件

默认配置文件

  • s2t.json 简体到繁体
  • t2s.json 繁体到简体
  • s2tw.json 简体到繁体(台湾标准)
  • tw2s.json 台湾正体到简体
  • s2hk.json 简体到繁体(香港变体)
  • hk2s.json 香港繁体到简体
  • s2twp.json 简体到繁体(台湾标准)并转换台湾常用词汇
  • tw2sp.json 繁体(台湾正体标准)到简体并转换中国大陆常用词汇
  • t2tw.json 繁体(OpenCC 标准)到台湾正体
  • hk2t.json 香港繁体到繁体(OpenCC 标准)
  • t2hk.json 繁体(OpenCC 标准)到香港繁体
  • t2jp.json 繁体(OpenCC 标准,旧字体)到日文新字体
  • jp2t.json 日文新字体到繁体(OpenCC 标准,旧字体)
  • tw2t.json 台湾正体到繁体(OpenCC 标准)

编译

使用CMake编译

Linux & Mac OS X

g++ 4.6+ 或 clang 3.2+ 是必需的。

make

Windows Visual Studio

build.cmd

使用Bazel编译

bazel build //:opencc
bazel test --test_output=all //src/... //data/... //test/...

测试

Linux & Mac OS X

make test

Windows Visual Studio

test.cmd

基准测试

make benchmark

示例结果(来自Github CI)

1: ------------------------------------------------------------------
1: Benchmark                        Time             CPU   Iterations
1: ------------------------------------------------------------------
1: BM_Initialization/hk2s        1.56 ms         1.56 ms          442
1: BM_Initialization/hk2t       0.144 ms        0.144 ms         4878
1: BM_Initialization/jp2t       0.260 ms        0.260 ms         2604
1: BM_Initialization/s2hk        23.8 ms         23.8 ms           29
1: BM_Initialization/s2t         25.6 ms         25.6 ms           28
1: BM_Initialization/s2tw        24.0 ms         23.9 ms           30
1: BM_Initialization/s2twp       24.6 ms         24.6 ms           28
1: BM_Initialization/t2hk       0.052 ms        0.052 ms        12897
1: BM_Initialization/t2jp       0.141 ms        0.141 ms         5012
1: BM_Initialization/t2s         1.30 ms         1.30 ms          540
1: BM_Initialization/tw2s        1.39 ms         1.39 ms          529
1: BM_Initialization/tw2sp       1.69 ms         1.69 ms          426
1: BM_Initialization/tw2t       0.089 ms        0.089 ms         7707
1: BM_Convert2M                   582 ms          582 ms            1
1: BM_Convert/100                1.07 ms         1.07 ms          636
1: BM_Convert/1000               11.0 ms         11.0 ms           67
1: BM_Convert/10000               113 ms          113 ms            6
1: BM_Convert/100000             1176 ms         1176 ms            1

使用 OpenCC 的项目

如果您使用 OpenCC,请更新。

许可协议

Apache License 2.0

第三方库

所有这些库默认情况下都是静态链接的。

变更历史

相关链接

贡献者

如果您为OpenCC做出了贡献,请随时更新此列表。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源代码分发

opencc-1.1.9.tar.gz (3.4 MB 查看哈希值)

上传时间 源代码

构建分发

OpenCC-1.1.9-cp312-cp312-win_amd64.whl (1.8 MB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

OpenCC-1.1.9-cp312-cp312-manylinux2014_x86_64.whl (1.7 MB 查看哈希值)

上传时间 CPython 3.12

OpenCC-1.1.9-cp312-cp312-macosx_10_9_x86_64.whl (1.5 MB 查看哈希值)

上传时间 CPython 3.12 macOS 10.9+ x86-64

OpenCC-1.1.9-cp311-cp311-win_amd64.whl (1.8 MB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

OpenCC-1.1.9-cp311-cp311-manylinux2014_x86_64.whl (1.7 MB 查看哈希值)

上传时间 CPython 3.11

OpenCC-1.1.9-cp311-cp311-macosx_10_9_x86_64.whl (1.5 MB 查看哈希值)

上传时间 CPython 3.11 macOS 10.9+ x86-64

OpenCC-1.1.9-cp310-cp310-win_amd64.whl (1.8 MB 查看哈希值)

上传时间 CPython 3.10 Windows x86-64

OpenCC-1.1.9-cp310-cp310-manylinux2014_x86_64.whl (1.7 MB 查看哈希值)

上传时间 CPython 3.10

OpenCC-1.1.9-cp310-cp310-macosx_10_9_x86_64.whl (1.5 MB 查看哈希值)

上传时间 CPython 3.10 macOS 10.9+ x86-64

OpenCC-1.1.9-cp39-cp39-win_amd64.whl (1.8 MB 查看哈希值)

上传时间 CPython 3.9 Windows x86-64

OpenCC-1.1.9-cp39-cp39-manylinux2014_x86_64.whl (1.7 MB 查看哈希值)

上传时间 CPython 3.9

OpenCC-1.1.9-cp39-cp39-macosx_10_9_x86_64.whl (1.5 MB 查看哈希值)

上传时间 CPython 3.9 macOS 10.9+ x86-64

OpenCC-1.1.9-cp38-cp38-win_amd64.whl (1.8 MB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

OpenCC-1.1.9-cp38-cp38-manylinux2014_x86_64.whl (1.7 MB 查看哈希值)

上传时间 CPython 3.8

OpenCC-1.1.9-cp38-cp38-macosx_10_9_x86_64.whl (1.5 MB 查看哈希值)

上传时间 CPython 3.8 macOS 10.9+ x86-64

由以下支持