Skip to content

Library for mapping Chinese character to Hong Kong Government Cantonese Romanisation, Pingyam (Yale or LSHK)

License

Notifications You must be signed in to change notification settings

chunlaw/cantonese-romanisation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cantonese Romanisation

Cantonese romanization based on Hong Kong Government Romanisation, which is widely adapted for assigning of names to HKID, streets and places.

The pacakage also provides features of pinyin supporting the standards of LSHK and Yale.

Demo is available here.

A Python version package is available here and the source code is available here.

Install

npm install cantonese-romanisation

or

yarn add cantonese-romanisation

Usage

getRoman

// @return: possible Cantonese romanisation for each Chinese character in the input string
getRoman( input: string ): Array<string[]>

getLshk

// @return: possible Cantonese LSHK Pinyin for each Chinese character in the input string
getLshk( input: string ): Array<string[]>

getYale

// @return: possible Yale Pinyin for each Chinese character in the input string
getYale( input: string ): Array<string[]>

pingyam

// @return: possible Chinese character for each pinyin in the input string
pingyam( input: string, system: "roman" | "lshk" | "yale" ): Array<string[]>

Example

import { getRoman, getLshk, getYale, pingyam } from 'cantonese-romanisation';

console.log(getRoman("梁國雄"));
// [["leung"], ["gwok", "kwok"], ['hung']])

console.log(getLshk("吳靄儀"))
//[["ng4"], ["oi2", "ngoi2"], ["ji4"]]
})

console.log(getYale("黎智英"))
// [["lai4"], ["ji3"], ["ying1"]]

console.log(pingyam("Ho Kwai Lam"))
/*
[
    [
        "勂","匼","厂","呺","哠","哿","婐","岢","嶱","悎","昦","暠","淏","渮","滈","澔","牁","牁","皜","砢","秏","籇","舸","菏","薃","藃","蚝","蚵","譹","鄗","鈳","錒","閜","魺","鰝","可","嗥","嚎","壕","好","昊","毫","浩","濠","灝","犒","皓","皞","耗","蒿","號","蠔","豪","鎬","顥","何","呵","坷","河","苛","荷","訶","賀"
    ], [
        "劌","匱","夔","奊","媿","媿","嶡","戣","撌","昋","暌","暩","楑","楑","樻","湀","溎","犪","瓗","痵","瞶","硊","纗","聧","蕢","蠵","觿","赽","躨","鄈","酅","鐀","鑴","闠","隗","頄","頯","騤","騩","騩","驨","鯚","鱖","圭","季","悸","桂","櫃","歸","瑰","癸","皈","硅","簣","貴","跪","軌","閨","餽","饋","鬼","鮭","龜","愧","揆","携","攜","珪","畦","盔","睽","窺","葵","虧","規","逵","馗"
    ], [
        "咶","嚂","嚂","壈","壏","惏","惏","懍","杬","杬","檁","浨","灆","灠","灠","爁","爦","痳","碄","礛","箖","糮","糮","菡","菻","豏","轞","轞","醂","顲","舐","婪","嵐","攬","檻","欖","濫","籃","纜","艦","藍","襤","覽","林","淋","琳","臨","霖","冧","凜","廩","諗"
    ]
]
*/

console.log(pingyam("can4 zi3 cyun4", "lshk"))
/*
[
    [
        "樄","蔯","螴","塵","陳"
    ], [
        "伿","倳","兕","剚","寘","忮","懥","懫","洷","滍","潪","疐","礩","胔","胾","覟","觶","贄","跮","鋕","駤","騺","鷙","恣","遲","質","志","摯","智","痣","知","緻","置","至","致","誌","躓","輊","漬","識"
    ], [
        "圌","壿","姾","巑","拵","攢","暷","椯","椽","欑","歂","灥","縓","菆","蟤","袸","謜","跧","遄","鐉","佺","全","存","恮","泉","牷","瑔","痊","筌","絟","荃","詮","輇","醛","銓","駩","蹲","傳","拴"
    ]
]

console.log(pingyam("leung4 gai3 ping4", "yale"))
/*
[
    [
        "俍","椋","綡","蜋","踉","輬","駺","梁","樑","涼","粱","糧","良","諒","量","莨"
    ], [
        "瀱","猘","瘈","瞉","筀","紒","罽","蘮","蘻","薊","髻","繼","計","炔"
    ], [
        "呯","帡","枰","洴","玶","竮","缾","苹","荓","蓱","蛢","軿","郱","鉼","秤","蘋","平","駢","坪","屏","抨","瓶","砰","萍","評"
    ]
]

Dictionary

If you would like to update the dictionary, you may checkout ./dictionary/source.tsv in the repository. Running npm run update-dict or yarn update-dict will update the library to use the latest dictionary.

Contribute

Project owner chunlaw is the initiator of the whole project. Everyone is welcome to contribute.

License

MIT license

About

Library for mapping Chinese character to Hong Kong Government Cantonese Romanisation, Pingyam (Yale or LSHK)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published