Skip to main content

Conversion between Traditional and Simplified Chinese

Project description

Open Chinese Convert 開放中文轉換

Travis AppVeyor C/C++ CI Node.js CI Python CI

Introduction 介紹

OpenCC

Open Chinese Convert (OpenCC, 開放中文轉換) is an opensource project for conversions between Traditional Chinese, Simplified Chinese and Japanese Kanji (Shinjitai). It supports character-level and phrase-level conversion, character variant conversion and regional idioms among Mainland China, Taiwan and Hong Kong. This is not translation tool between Mandarin and Cantonese, etc.

中文簡繁轉換開源項目,支持詞彙級別的轉換、異體字轉換和地區習慣用詞轉換(中國大陸、臺灣、香港、日本新字體)。不提供普通話與粵語的轉換。

Discussion (Telegram): https://t.me/open_chinese_convert

Features 特點

  • 嚴格區分「一簡對多繁」和「一簡對多異」。
  • 完全兼容異體字,可以實現動態替換。
  • 嚴格審校一簡對多繁詞條,原則爲「能分則不合」。
  • 支持中國大陸、臺灣、香港異體字和地區習慣用詞轉換,如「裏」「裡」、「鼠標」「滑鼠」。
  • 詞庫和函數庫完全分離,可以自由修改、導入、擴展。

Installation 安裝

See Download.

Usage 使用

Online demo 線上轉換展示

Warning: This is NOT an API. You will be banned if you make calls programmatically.

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);
}

See demo.js and ts-demo.ts.

Python

PyPI pip install opencc (Windows, Linux, Mac)

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

C++

#include "opencc.h"

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

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;
}

Document 文檔: https://byvoid.github.io/OpenCC/

Command Line

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

Others (Unofficial)

Configurations 配置文件

預設配置文件

  • s2t.json Simplified Chinese to Traditional Chinese 簡體到繁體
  • t2s.json Traditional Chinese to Simplified Chinese 繁體到簡體
  • s2tw.json Simplified Chinese to Traditional Chinese (Taiwan Standard) 簡體到臺灣正體
  • tw2s.json Traditional Chinese (Taiwan Standard) to Simplified Chinese 臺灣正體到簡體
  • s2hk.json Simplified Chinese to Traditional Chinese (Hong Kong variant) 簡體到香港繁體
  • hk2s.json Traditional Chinese (Hong Kong variant) to Simplified Chinese 香港繁體到簡體
  • s2twp.json Simplified Chinese to Traditional Chinese (Taiwan Standard) with Taiwanese idiom 簡體到繁體(臺灣正體標準)並轉換爲臺灣常用詞彙
  • tw2sp.json Traditional Chinese (Taiwan Standard) to Simplified Chinese with Mainland Chinese idiom 繁體(臺灣正體標準)到簡體並轉換爲中國大陸常用詞彙
  • t2tw.json Traditional Chinese (OpenCC Standard) to Taiwan Standard 繁體(OpenCC 標準)到臺灣正體
  • hk2t.json Traditional Chinese (Hong Kong variant) to Traditional Chinese 香港繁體到繁體(OpenCC 標準)
  • t2hk.json Traditional Chinese (OpenCC Standard) to Hong Kong variant 繁體(OpenCC 標準)到香港繁體
  • t2jp.json Traditional Chinese Characters (Kyūjitai) to New Japanese Kanji (Shinjitai) 繁體(OpenCC 標準,舊字體)到日文新字體
  • jp2t.json New Japanese Kanji (Shinjitai) to Traditional Chinese Characters (Kyūjitai) 日文新字體到繁體(OpenCC 標準,舊字體)
  • tw2t.json Traditional Chinese (Taiwan standard) to Traditional Chinese 臺灣正體到繁體(OpenCC 標準)

Build 編譯

Build with CMake

Linux & Mac OS X

g++ 4.6+ or clang 3.2+ is required.

make

Windows Visual Studio:

build.cmd

Test 測試

Linux & Mac OS X

make test

Windows Visual Studio:

test.cmd

Benchmark 基準測試

make benchmark

Example results (from 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

Projects using OpenCC 使用 OpenCC 的項目

License 許可協議

Apache License 2.0

Third Party Library 第三方庫

All these libraries are statically linked by default.

Change History 版本歷史

Links 相關鏈接

Contributors 貢獻者

Please feel free to update this list if you have contributed OpenCC.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

OpenCC-1.1.5-cp311-cp311-manylinux1_x86_64.whl (778.2 kB view details)

Uploaded CPython 3.11

OpenCC-1.1.5-cp310-cp310-manylinux1_x86_64.whl (778.3 kB view details)

Uploaded CPython 3.10

OpenCC-1.1.5-cp39-cp39-manylinux1_x86_64.whl (778.4 kB view details)

Uploaded CPython 3.9

OpenCC-1.1.5-cp38-cp38-manylinux1_x86_64.whl (778.2 kB view details)

Uploaded CPython 3.8

OpenCC-1.1.5-cp37-cp37m-manylinux1_x86_64.whl (778.8 kB view details)

Uploaded CPython 3.7m

File details

Details for the file OpenCC-1.1.5-cp311-cp311-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for OpenCC-1.1.5-cp311-cp311-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9978f7b21c9be01a74dd2bbabd69451b832acc404f41cdd179682b6a8278773a
MD5 86a0ef7d979d525bdfd738bfd6955163
BLAKE2b-256 4e21301ddb78bddfb5a94db199a1263251d9df723b9ede1fc895321ad0ef740c

See more details on using hashes here.

File details

Details for the file OpenCC-1.1.5-cp310-cp310-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for OpenCC-1.1.5-cp310-cp310-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 24301dc894b3aaae144e57dee6fcd87d3532b686d49de481e9c3997e0bf0f71e
MD5 a8706f215679232dc65777cdfae551ed
BLAKE2b-256 37e10bcc5658704e5f0e5646cd4297ce1935956bf7e9889e2ad13488e21e4d08

See more details on using hashes here.

File details

Details for the file OpenCC-1.1.5-cp39-cp39-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for OpenCC-1.1.5-cp39-cp39-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8523535c51036f1013f46da77efff0fdae4f98faba31382fabd6b91ed7eb610e
MD5 98f5628dc3dd706dbe17981678f3225f
BLAKE2b-256 5406fb247b9f25f03d0b5c6f75b8fcaa275f9f5cc1dcc8533907740a64c1e131

See more details on using hashes here.

File details

Details for the file OpenCC-1.1.5-cp38-cp38-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for OpenCC-1.1.5-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a61b9ae185cc337b68f1fd851d12b1dd36973eff4525433d53a1a369a76a48e1
MD5 a83c15f3b9db4a0b3d27b2b203bb8d1a
BLAKE2b-256 f493273f4ceb7d04ae9bfe204f59cea085e14b7d39898fd1f7bd3fd5ec7d6219

See more details on using hashes here.

File details

Details for the file OpenCC-1.1.5-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for OpenCC-1.1.5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 42ecdf6e8c5e1f2bcdd95efb3e57775f9a3080c96f3702a65482d87a13a5f5d9
MD5 be81f942b1a95da62e365a7a357dbed9
BLAKE2b-256 24719acc104f6cced3594039b7c34bf50a71048490fb932a2dadb7927050438f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page