Skip to main content

Convert a Chinese sentence to Pinyin or Jyutping

Project description

Python module which converts a Chinese sentence from Simplified/Traditional to Mandarin/Pinyin and Traditional/Simplified to Cantonese/Jyutping, outputting diacritics (accented characters). I designed this library to create Mandarin and Cantonese flashcards.

Want to support my work on this module ? Become a supporter: https://www.patreon.com/lucw

Install

$ pip install pinyin_jyutping

Usage

Pinyin

>>> import pinyin_jyutping
>>> p = pinyin_jyutping.PinyinJyutping()
>>> p.pinyin('忘拿一些东西了')[0]
'wàng ná yīxiē dōngxī le'
>>> p.pinyin('忘拿一些东西了', tone_numbers=True)[0]
'wang4 na2 yi1xie1 dong1xi1 le5'
>>> p.pinyin('忘拿一些东西了', tone_numbers=True, spaces=True)[0]
'wang4 na2 yi1 xie1 dong1 xi1 le5'

Jyutping

>>> import pinyin_jyutping
>>> j = pinyin_jyutping.PinyinJyutping()
>>> j.jyutping('我出去攞野食')[0]
'ngǒ cēothêoi ló jěsik'
>>> j.jyutping('我出去攞野食', tone_numbers=True)[0]
'ngo5 ceot1heoi3 lo2 je5sik6'
>>> j.jyutping('我出去攞野食', tone_numbers=True, spaces=True)[0]
'ngo5 ceot1 heoi3 lo2 je5 sik6'

How it works

Uses the Jieba library (https://github.com/fxsjy/jieba) to tokenize the sentence. Then words are converted to Pinyin/Jyutping either as a whole, or character by character, using the CC-Canto dictionary (http://cantonese.org/about.html). The Jyutping diacritic conversion is not standard but originally described here: http://www.cantonese.sheik.co.uk/phorum/read.php?1,127274,129006

Project details


Download files

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

Source Distribution

pinyin_jyutping-0.4.tar.gz (7.4 MB view details)

Uploaded Source

File details

Details for the file pinyin_jyutping-0.4.tar.gz.

File metadata

  • Download URL: pinyin_jyutping-0.4.tar.gz
  • Upload date:
  • Size: 7.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for pinyin_jyutping-0.4.tar.gz
Algorithm Hash digest
SHA256 3e36f54d506bf6314996ae07ca628c41e99a4ea235de25ccb399941d8f6fac4c
MD5 b21d88d37dd0ed932a32646088ab757d
BLAKE2b-256 924a2949e1b61b4dcc5c0cd8a3b31e2ef6eb9a0221e662de64a471fcaf2a4f31

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