from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音
from 臺灣言語工具.解析整理.羅馬字仕上げ import 羅馬字仕上げ
from 臺灣言語工具.基本物件.公用變數 import 無音
from 臺灣言語工具.基本物件.句 import 句


class 台語多元書寫:

    @classmethod
    def 書寫章(cls, 章物件):
        結果 = []
        for 句物件 in 章物件.內底句:
            結果.append(cls.書寫句(句物件))
        return 結果

    @classmethod
    def 書寫句(cls, 句物件):
        新物件 = 句(句物件.內底集)
        for 字物件 in 新物件.篩出字物件():
            if 字物件.音 == 無音:
                字物件.音 = 字物件.型
        數字調物件 = 新物件.轉音(臺灣閩南語羅馬字拼音)
        調符物件 = 新物件.轉音(臺灣閩南語羅馬字拼音, '轉調符')
        調符臺羅 = 調符物件.看音()
        詞ê書寫 = []
        for 詞物件 in 調符物件.網出詞物件():
            詞ê書寫.append(詞物件.看語句())
        return {
            '分詞': 調符物件.看分詞(),
            '漢字': 羅馬字仕上げ.しあげ(調符物件.看語句()),
            '漢字斷詞': 羅馬字仕上げ.輕聲佮外來語(' '.join(詞ê書寫)),
            '臺羅': 羅馬字仕上げ.しあげ(調符臺羅),
            '臺羅斷詞': 羅馬字仕上げ.輕聲佮外來語(調符臺羅),
            '臺羅數字調': 數字調物件.看音(),
            '白話字': 羅馬字仕上げ.しあげ(新物件.轉音(臺灣閩南語羅馬字拼音, '轉白話字').看音()),
            '吳守禮方音': 新物件.轉音(臺灣閩南語羅馬字拼音, '轉吳守禮方音').看音(' ', ' '),
        }
