asika32764/pinyin

Romanization tool for Traditional Chinese - Fork to fix PHP8.2

1.2.4 2023-07-06 04:51 UTC

This package is not auto-updated.

Last update: 2024-11-22 10:05:40 UTC


README

將字串中之漢字視為華語,並轉換成各種拼音形式之工具

支援拼音法

  • 注音拼音 (Bopomofo)
  • 臺灣華語羅馬拼音 (THL)
  • 漢語拼音
  • 通用拼音
  • 注音二式
  • 威妥瑪拼音

安裝方式

建議使用 php-composer 安裝

composer require thl/pinyin

使用說明

Pinyin::bpmf()

將字串內漢字以華語注音符號表示

string THL\Pinyin::bpmf(string $source)
參數
  • $source 輸入字串
範例
// returns "THL ㄊㄞˊ ㄨㄢ ㄏㄨㄚˊ ㄩˇ ㄌㄨㄛˊ ㄇㄚˇ ㄆㄧㄣ ㄧㄣ"
$output = THL\Pinyin::bpmf("THL台灣華語羅馬拼音");

Pinyin::pinyin()

將字串內漢字以華語拼音表示

string THL\Pinyin::pinyin(string $source, array $options)
參數
  • $source 輸入字串
  • $options 參數
    • notation: 方案,預設為 thl
      • thl (台灣華語羅馬拼音)
      • hy (漢語拼音)
      • ty (通用拼音)
      • mps2 (注音二式)
      • wg (威妥瑪拼音)
    • tone: 聲調,預設為 number
      • number (數字表示)
      • mark (符號表示) 目前暫時只支援臺灣華語羅馬拼音 (THL)
      • none (無聲調)
    • split: 分割,預設為 word
      • word (單字)
      • phrase (詞)
範例
// returns "THL tai2 wan1 hua2 yu3 luo2 ma3 pin1 yin1"
$output = THL\Pinyin::pinyin("THL台灣華語羅馬拼音");

// returns "THL taíwan huáyǔ luómǎ pinyin"
$output = THL\Pinyin::pinyin("THL台灣華語羅馬拼音", array('tone' => 'mark', 'split' => 'phrase'));

// returns "THL t'ai wan hua yü lo ma p'in yin"
$output = THL\Pinyin::pinyin("THL台灣華語羅馬拼音", array('notation' => 'wg', 'tone' => 'none', 'split' => 'word'));

Pinyin::slug()

產生適合當網址的格式

string THL\Pinyin::slug(string $source, array $options)
參數
  • $source 輸入字串
  • $options 參數
    • notation: 方案,預設為 thl
      • thl (台灣華語羅馬拼音)
      • hy (漢語拼音)
      • ty (通用拼音)
      • mps2 (注音二式)
      • wg (威妥瑪拼音)
    • tone: 聲調,預設為 none
      • number (數字表示)
      • none (無聲調)
    • split: 分割,預設為 word
      • word (單字)
      • phrase (詞)
範例
// returns "thl-tai-wan-hua-yu-luo-ma-pin-yin"
$output = THL\Pinyin::pinyin("THL台灣華語羅馬拼音");

// returns "thl-taiwan-huayu-luoma-pinyin"
$output = THL\Pinyin::pinyin("THL台灣華語羅馬拼音", array('split' => 'phrase'));

// returns "thl-tai2wan1-hua2yu3-luo2ma3-pin1yin1"
$output = THL\Pinyin::pinyin("THL台灣華語羅馬拼音", array('notation' => 'ty', 'tone' => 'number', 'split' => 'phrase'));

詞庫

詞庫的部份以小麥注音為基礎,字的部份另外使用cconv 翻譯成簡體漢字

  • 由於詞庫部份尚未翻譯為中式華語,以簡體漢字書寫之句子有大部份的情況會被視為獨立單字組成