目前的規格主要是`輸入詞\t輸出詞1 輸出詞2 輸出詞3 ...`,這樣的格式導致輸出詞不能含有空格,否則會被判定為二個輸出詞而截斷。 這導致使用者無法自訂含有空格詞組,降低 OpenCC 作為通用性工具的能力。 含有空格的詞組可能在以下情況被使用: 1. 含空格外文語+中文詞,例如: - `Visual Studio插件` → `Visual Studio擴充組件` - `3C Weekly资讯电子周刊` → `3C Weekly 資訊電子周刊` - `二維碼` → `QR Code` (#376) 由於不支援空格,只能用不精確且容易出錯的 `Studio插件` → `Studio擴充組件` 等等。 2. 含有簡單數字或英文的詞,如: - `B 型肝炎` → `乙型肝炎` - `1 只鸟` → `1 隻鳥` 目前寫法只支援 `B型肝炎` → `乙型肝炎`,對於中英文之間有插入空格的文本就無法正確處理。官方詞典不一定要有含空格的詞條,使用者可以透過腳本自動補上含有空格的詞條,但目前會受限於 OpenCC 的架構而無效。 3. 某些含有空格的中文文本,例如: - `XXX 著` → `XXX 著` (#963) 建議把規格改成標準的 TSV,即 `輸入詞\t輸出詞1\t輸出詞2\t輸出詞3\t...`,應該就能有效解決此問題,缺點是會犧牲向下相容。 也可以考慮支援 TSV 常用的 `"` 及 `""` 脫義格式以支援全字元,但如果引進了上述更新,需要處理的特殊字元應該只剩下 `\t`、`\r`、`\n`,這些都不是一般預期文本會使用的字元,反而引進 `"` 跳脫會導致語法解析更複雜且導致含有 `"` 的詞不易編寫,可再商榷。
目前的規格主要是
輸入詞\t輸出詞1 輸出詞2 輸出詞3 ...,這樣的格式導致輸出詞不能含有空格,否則會被判定為二個輸出詞而截斷。這導致使用者無法自訂含有空格詞組,降低 OpenCC 作為通用性工具的能力。
含有空格的詞組可能在以下情況被使用:
含空格外文語+中文詞,例如:
Visual Studio插件→Visual Studio擴充組件3C Weekly资讯电子周刊→3C Weekly 資訊電子周刊二維碼→QR Code(增加新词条,内容带空格,转换后结果不对 #376)由於不支援空格,只能用不精確且容易出錯的
Studio插件→Studio擴充組件等等。含有簡單數字或英文的詞,如:
B 型肝炎→乙型肝炎1 只鸟→1 隻鳥目前寫法只支援
B型肝炎→乙型肝炎,對於中英文之間有插入空格的文本就無法正確處理。官方詞典不一定要有含空格的詞條,使用者可以透過腳本自動補上含有空格的詞條,但目前會受限於 OpenCC 的架構而無效。某些含有空格的中文文本,例如:
XXX 著→XXX 著(單字「著」的繁簡轉換 #963)建議把規格改成標準的 TSV,即
輸入詞\t輸出詞1\t輸出詞2\t輸出詞3\t...,應該就能有效解決此問題,缺點是會犧牲向下相容。也可以考慮支援 TSV 常用的
"及""脫義格式以支援全字元,但如果引進了上述更新,需要處理的特殊字元應該只剩下\t、\r、\n,這些都不是一般預期文本會使用的字元,反而引進"跳脫會導致語法解析更複雜且導致含有"的詞不易編寫,可再商榷。