opencc

Conversion between Traditional and Simplified Chinese

https://github.com/byvoid/opencc

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 118 committers (0.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.3%) to scientific vocabulary

Keywords

chinese-translation simplified-chinese traditional-chinese

Keywords from Contributors

tensors closember system optimizing-compiler sensors jax static-analysis systemd fake fake-data
Last synced: 10 months ago · JSON representation

Repository

Conversion between Traditional and Simplified Chinese

Basic Info
  • Host: GitHub
  • Owner: BYVoid
  • License: apache-2.0
  • Language: C++
  • Default Branch: master
  • Homepage: https://opencc.byvoid.com/
  • Size: 8.8 MB
Statistics
  • Stars: 9,183
  • Watchers: 211
  • Forks: 1,016
  • Open Issues: 239
  • Releases: 17
Topics
chinese-translation simplified-chinese traditional-chinese
Created almost 16 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Funding License Authors

README.md

Open Chinese Convert 開放中文轉換

CMake Bazel MSVC Node.js CI Python CI AppVeyor

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/openchineseconvert

Features 特點

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

Installation 安裝

Package Managers 包管理器

Prebuilt 預編譯

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

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

TypeScript

ts 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

pip install opencc (Windows, Linux, macOS)

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

C++

```c++

include "opencc.h"

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

Full example with Bazel

C

```c

include "opencc.h"

int main() { opencct opencc = openccopen("s2t.json"); const char* input = "汉字"; char* converted = openccconvertutf8(opencc, input, strlen(input)); // 漢字 openccconvertutf8free(converted); openccclose(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 & macOS

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

bash make

Windows Visual Studio:

bash build.cmd

Build with Bazel

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

Test 測試

Linux & macOS

make test

Windows Visual Studio:

bash 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 的項目

Please update if your project is using OpenCC.

License 許可協議

Apache License 2.0

Third Party Library 第三方庫

All these libraries are statically linked by default.

Change History 版本歷史

Links 相關鏈接

  • Introduction 詳細介紹 https://github.com/BYVoid/OpenCC/wiki/%E7%B7%A3%E7%94%B1
  • 現代漢語常用簡繁一對多字義辨析表 http://ytenx.org/byohlyuk/KienxPyan

Contributors 貢獻者

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

Owner

  • Name: Carbo Kuo
  • Login: BYVoid
  • Kind: user
  • Location: New York

GitHub Events

Total
  • Issues event: 41
  • Watch event: 683
  • Delete event: 2
  • Issue comment event: 75
  • Push event: 16
  • Pull request review comment event: 1
  • Pull request review event: 10
  • Pull request event: 41
  • Fork event: 50
  • Create event: 2
Last Year
  • Issues event: 41
  • Watch event: 683
  • Delete event: 2
  • Issue comment event: 75
  • Push event: 16
  • Pull request review comment event: 1
  • Pull request review event: 10
  • Pull request event: 41
  • Fork event: 50
  • Create event: 2

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 1,283
  • Total Committers: 118
  • Avg Commits per committer: 10.873
  • Development Distribution Score (DDS): 0.484
Past Year
  • Commits: 91
  • Committers: 25
  • Avg Commits per committer: 3.64
  • Development Distribution Score (DDS): 0.385
Top Committers
Name Email Commits
Carbo Kuo b****d@b****m 662
byvoid1 d****l@l****t 106
mingruimingrui m****i@h****m 81
Danny Lin d****8@g****m 56
瑾昀 c****i@g****m 36
sgalal 3****h 28
刘祺 g****g@g****m 26
Ayaka Mikazuki a****a@m****k 20
Peter Dave Hello h****u@p****g 16
lotem c****t@g****m 15
sgalal s****e@o****m 15
Xpol Wan x****e@g****m 13
Anton Melser a****n@m****g 12
groverlynn g****n@g****m 11
刘祺 q****l@j****m 11
SteveLz s****0@g****m 10
Jak Wings j****s@g****m 6
Gary W 3****l 5
kyleskimo k****s@k****m 5
shinzoqchiuq s****q@o****m 4
WhiredPlanck w****k@o****m 4
Jason Lee h****e@g****m 4
Wang Ming Rui m****g@C****n 4
Heinz Wiesinger p****t@l****t 3
Prcuvu p****u@g****m 3
Qijia Liu l****o@p****n 3
lsl 2****u@g****m 3
Ma Xiaojun d****5@g****m 3
Kefu Chai t****v@g****m 3
Wing s****g 3
and 88 more...

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 188
  • Total pull requests: 183
  • Average time to close issues: 10 months
  • Average time to close pull requests: 8 months
  • Total issue authors: 149
  • Total pull request authors: 53
  • Average comments per issue: 1.49
  • Average comments per pull request: 1.29
  • Merged pull requests: 94
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 51
  • Pull requests: 48
  • Average time to close issues: 9 days
  • Average time to close pull requests: 25 days
  • Issue authors: 40
  • Pull request authors: 18
  • Average comments per issue: 0.27
  • Average comments per pull request: 0.81
  • Merged pull requests: 28
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • morningbread (9)
  • doubanchan (7)
  • AntonOfTheWoods (6)
  • sncix (4)
  • danny0838 (3)
  • Freed-Wu (2)
  • plum7x (2)
  • crowforkotlin (2)
  • tangwudu (2)
  • hyaray (2)
  • Hotege (2)
  • TianSalt (2)
  • ferstar (2)
  • ShikiSuen (2)
  • LaoshuBaby (2)
Pull Request Authors
  • groverlynn (19)
  • danny0838 (19)
  • PeterDaveHello (15)
  • SteveLz (13)
  • AntonOfTheWoods (9)
  • BYVoid (8)
  • epico (7)
  • C0rn3j (6)
  • WhiredPlanck (6)
  • huacnlee (5)
  • eagleoflqj (4)
  • forFudan (3)
  • RUI-LONG (3)
  • clover-yan (3)
  • tomcatliu2016 (3)
Top Labels
Issue Labels
enhancement (1) dict (1) bug (1)
Pull Request Labels

Packages

  • Total packages: 4
  • Total downloads:
    • homebrew 73 last-month
    • pypi 331,779 last-month
    • npm 1,865 last-month
  • Total docker downloads: 46
  • Total dependent packages: 63
    (may contain duplicates)
  • Total dependent repositories: 519
    (may contain duplicates)
  • Total versions: 44
  • Total maintainers: 4
  • Total advisories: 1
npmjs.org: opencc

Conversion between Traditional and Simplified Chinese

  • Versions: 21
  • Dependent Packages: 36
  • Dependent Repositories: 70
  • Downloads: 1,865 Last month
  • Docker Downloads: 37
Rankings
Dependent packages count: 0.8%
Stargazers count: 1.1%
Forks count: 1.2%
Average: 1.4%
Docker downloads count: 1.5%
Dependent repos count: 1.6%
Downloads: 2.0%
Maintainers (2)
Last synced: 10 months ago
pypi.org: opencc

Conversion between Traditional and Simplified Chinese

  • Versions: 14
  • Dependent Packages: 26
  • Dependent Repositories: 446
  • Downloads: 331,678 Last month
  • Docker Downloads: 9
Rankings
Stargazers count: 0.3%
Dependent repos count: 0.7%
Downloads: 0.7%
Dependent packages count: 0.7%
Forks count: 1.3%
Average: 1.4%
Docker downloads count: 4.6%
Maintainers (3)
Last synced: 10 months ago
pypi.org: opencc-py

Conversion between Traditional and Simplified Chinese

  • Versions: 2
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 101 Last month
Rankings
Stargazers count: 0.3%
Forks count: 1.3%
Dependent packages count: 10.1%
Average: 15.6%
Dependent repos count: 21.5%
Downloads: 44.7%
Maintainers (2)
Last synced: 10 months ago
formulae.brew.sh: opencc

Simplified-traditional Chinese conversion tool

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 73 Last month
Rankings
Forks count: 2.8%
Stargazers count: 3.5%
Average: 17.3%
Dependent packages count: 19.5%
Dependent repos count: 24.2%
Downloads: 36.3%
Last synced: 10 months ago

Dependencies

.github/workflows/cmake.yml actions
  • actions/checkout v2 composite
.github/workflows/mingw.yml actions
  • actions/checkout v3 composite
  • msys2/setup-msys2 v2 composite
.github/workflows/nodejs.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v1 composite
.github/workflows/python.yml actions
  • actions/checkout v2 composite
  • actions/checkout v1 composite
  • actions/setup-python v4 composite
.github/workflows/release-pypi.yml actions
  • actions/checkout v1 composite
package-lock.json npm
  • 156 dependencies
package.json npm
  • mocha ^8.3.0 development
  • node-pre-gyp-github ^1.4.3 development
  • nan ^2.14.2
  • node-pre-gyp ^0.14.0
deps/google-benchmark/bindings/python/requirements.txt pypi
  • absl-py >=0.7.1
deps/google-benchmark/requirements.txt pypi
  • numpy ==1.22
  • scipy ==1.5.4
deps/google-benchmark/setup.py pypi
deps/google-benchmark/tools/requirements.txt pypi
  • scipy >=1.5.0
deps/pybind11-2.10.0/docs/requirements.txt pypi
  • breathe ==4.34.0
  • furo ==2022.6.21
  • sphinx ==5.0.2
  • sphinx-copybutton ==0.5.0
  • sphinxcontrib-moderncmakedomain ==3.21.4
  • sphinxcontrib-svg2pdfconverter ==1.2.0
deps/pybind11-2.10.0/pyproject.toml pypi
deps/pybind11-2.10.0/setup.py pypi
deps/pybind11-2.10.0/tests/requirements.txt pypi
  • build ==0.8.0 test
  • numpy ==1.21.5 test
  • numpy ==1.19.3 test
  • numpy ==1.22.2 test
  • pytest ==7.0.0 test
  • pytest-timeout * test
  • scipy ==1.5.4 test
  • scipy ==1.8.0 test
deps/pybind11-2.10.0/tools/pyproject.toml pypi
setup.py pypi