<script> import ResponsiveTable from '$lib/components/ResponsiveTable.svelte';
const phraseColumns = [ { key: 'intent', label: 'Intent', minWidth: '9rem', nowrap: true }, { key: 'tone', label: 'Tone', minWidth: '7rem', nowrap: true }, { key: 'traditional', label: 'Traditional Chinese', minWidth: '12rem', nowrap: true }, { key: 'pinyin', label: 'Pinyin', minWidth: '12rem', nowrap: true }, { key: 'zhuyin', label: 'Zhuyin', minWidth: '11rem', nowrap: true }, { key: 'pronunciation', label: 'English-ish pronunciation', minWidth: '12rem' }, { key: 'meaning', label: 'Meaning / Taipei vibe', minWidth: '17rem' } ];
const coreRows = [ { intent: 'Pet name', tone: 'Natural', traditional: '寶寶', pinyin: 'bǎo bǎo', zhuyin: 'ㄅㄠˇ ㄅㄠˇ', pronunciation: 'bao bao', meaning: 'baby (your default pet name)' }, { intent: 'Pet name', tone: 'Natural', traditional: '親愛的', pinyin: 'qīn ài de', zhuyin: 'ㄑㄧㄣ ㄞˋ ˙ㄉㄜ', pronunciation: 'cheen eye duh', meaning: 'darling' }, { intent: 'Pet name', tone: 'Natural', traditional: '寶貝', pinyin: 'bǎo bèi', zhuyin: 'ㄅㄠˇ ㄅㄟˋ', pronunciation: 'bao bay', meaning: 'babe' }, { intent: 'I miss you', tone: 'Natural', traditional: '我想你', pinyin: 'wǒ xiǎng nǐ', zhuyin: 'ㄨㄛˇ ㄒㄧㄤˇ ㄋㄧˇ', pronunciation: 'wo shyang nee', meaning: 'I miss you' }, { intent: 'I miss you', tone: 'Sweeter', traditional: '好想你喔', pinyin: 'hǎo xiǎng nǐ o', zhuyin: 'ㄏㄠˇ ㄒㄧㄤˇ ㄋㄧˇ ㄛ', pronunciation: 'how shyang nee oh', meaning: 'miss you so much' }, { intent: 'I miss you', tone: 'Sweeter', traditional: '我超想你', pinyin: 'wǒ chāo xiǎng nǐ', zhuyin: 'ㄨㄛˇ ㄔㄠ ㄒㄧㄤˇ ㄋㄧˇ', pronunciation: 'wo chow shyang nee', meaning: 'I super miss you' }, { intent: 'Love', tone: 'Natural', traditional: '我愛你', pinyin: 'wǒ ài nǐ', zhuyin: 'ㄨㄛˇ ㄞˋ ㄋㄧˇ', pronunciation: 'wo eye nee', meaning: 'I love you' }, { intent: 'Love', tone: 'Sweeter', traditional: '我真的很愛你', pinyin: 'wǒ zhēn de hěn ài nǐ', zhuyin: 'ㄨㄛˇ ㄓㄣ ˙ㄉㄜ ㄏㄣˇ ㄞˋ ㄋㄧˇ', pronunciation: 'wo jen duh hen eye nee', meaning: 'I really love you' }, { intent: 'Love', tone: 'Cute', traditional: '愛你啦', pinyin: 'ài nǐ la', zhuyin: 'ㄞˋ ㄋㄧˇ ㄌㄚ', pronunciation: 'eye nee la', meaning: 'love you (playful ending)' }, { intent: 'Like', tone: 'Natural', traditional: '好喜歡你', pinyin: 'hǎo xǐ huān nǐ', zhuyin: 'ㄏㄠˇ ㄒㄧˇ ㄏㄨㄢ ㄋㄧˇ', pronunciation: 'how she hwan nee', meaning: 'I really like you' }, { intent: 'Compliment', tone: 'Natural', traditional: '你好可愛', pinyin: 'nǐ hǎo kě ài', zhuyin: 'ㄋㄧˇ ㄏㄠˇ ㄎㄜˇ ㄞˋ', pronunciation: 'nee how kuh eye', meaning: 'you are cute' }, { intent: 'Compliment', tone: 'Natural', traditional: '你好漂亮', pinyin: 'nǐ hǎo piào liang', zhuyin: 'ㄋㄧˇ ㄏㄠˇ ㄆㄧㄠˋ ㄌㄧㄤˋ', pronunciation: 'nee how pyow lyang', meaning: 'you are pretty' }, { intent: 'Compliment', tone: 'Natural', traditional: '你今天很好看', pinyin: 'nǐ jīn tiān hěn hǎo kàn', zhuyin: 'ㄋㄧˇ ㄐㄧㄣ ㄊㄧㄢ ㄏㄣˇ ㄏㄠˇ ㄎㄢˋ', pronunciation: 'nee jin tyan hen how kan', meaning: 'you look great today' }, { intent: 'Compliment', tone: 'Sweeter', traditional: '你今天超可愛', pinyin: 'nǐ jīn tiān chāo kě ài', zhuyin: 'ㄋㄧˇ ㄐㄧㄣ ㄊㄧㄢ ㄔㄠ ㄎㄜˇ ㄞˋ', pronunciation: 'nee jin tyan chow kuh eye', meaning: 'you are extra cute today' }, { intent: 'Gratitude', tone: 'Natural', traditional: '謝謝你陪我', pinyin: 'xiè xie nǐ péi wǒ', zhuyin: 'ㄒㄧㄝˋ ㄒㄧㄝ˙ ㄋㄧˇ ㄆㄟˊ ㄨㄛˇ', pronunciation: 'shyeh shyeh nee pay wo', meaning: 'thank you for being with me' }, { intent: 'Gratitude', tone: 'Sweeter', traditional: '有你真好', pinyin: 'yǒu nǐ zhēn hǎo', zhuyin: 'ㄧㄡˇ ㄋㄧˇ ㄓㄣ ㄏㄠˇ', pronunciation: 'yo nee jen how', meaning: 'having you is so good' }, { intent: 'Support', tone: 'Natural', traditional: '你今天辛苦了', pinyin: 'nǐ jīn tiān xīn kǔ le', zhuyin: 'ㄋㄧˇ ㄐㄧㄣ ㄊㄧㄢ ㄒㄧㄣ ㄎㄨˇ ˙ㄌㄜ', pronunciation: 'nee jin tyan shin koo luh', meaning: 'you worked hard today' }, { intent: 'Support', tone: 'Natural', traditional: '我在你身邊', pinyin: 'wǒ zài nǐ shēn biān', zhuyin: 'ㄨㄛˇ ㄗㄞˋ ㄋㄧˇ ㄕㄣ ㄅㄧㄢ', pronunciation: 'wo dzai nee shen byen', meaning: 'I am by your side' }, { intent: 'Support', tone: 'Natural', traditional: '我們一起', pinyin: 'wǒ men yì qǐ', zhuyin: 'ㄨㄛˇ ㄇㄣ˙ ㄧˋ ㄑㄧˇ', pronunciation: 'wo men ee chee', meaning: 'we do this together' }, { intent: 'Comfort', tone: 'Natural', traditional: '慢慢來', pinyin: 'màn màn lái', zhuyin: 'ㄇㄢˋ ㄇㄢˋ ㄌㄞˊ', pronunciation: 'man man lie', meaning: 'take your time' }, { intent: 'Care', tone: 'Natural', traditional: '路上小心', pinyin: 'lù shàng xiǎo xīn', zhuyin: 'ㄌㄨˋ ㄕㄤˋ ㄒㄧㄠˇ ㄒㄧㄣ', pronunciation: 'loo shang shyao shin', meaning: 'be careful on the way' }, { intent: 'Care', tone: 'Natural', traditional: '到家跟我說', pinyin: 'dào jiā gēn wǒ shuō', zhuyin: 'ㄉㄠˋ ㄐㄧㄚ ㄍㄣ ㄨㄛˇ ㄕㄨㄛ', pronunciation: 'dow jya gen wo shwo', meaning: 'text me when you get home' }, { intent: 'Night', tone: 'Natural', traditional: '晚安,做個好夢', pinyin: 'wǎn ān, zuò ge hǎo mèng', zhuyin: 'ㄨㄢˇ ㄢ ㄗㄨㄛˋ ㄍㄜ˙ ㄏㄠˇ ㄇㄥˋ', pronunciation: 'wan an dzwaw guh how mung', meaning: 'good night, sweet dreams' } ];
const pack1Rows = [ { intent: 'Ask for kiss', tone: 'Natural', traditional: '可以親我一下嗎?', pinyin: 'kě yǐ qīn wǒ yí xià ma', zhuyin: 'ㄎㄜˇ ㄧˇ ㄑㄧㄣ ㄨㄛˇ ㄧˊ ㄒㄧㄚˋ ㄇㄚ˙', pronunciation: 'kuh yee cheen wo ee shyah ma', meaning: 'can you kiss me?' }, { intent: 'Ask for kiss', tone: 'Sweeter', traditional: '給我一個親親', pinyin: 'gěi wǒ yí gè qīn qīn', zhuyin: 'ㄍㄟˇ ㄨㄛˇ ㄧˊ ㄍㄜˋ ㄑㄧㄣ ㄑㄧㄣ', pronunciation: 'gay wo ee guh cheen cheen', meaning: 'give me a kiss' }, { intent: 'Ask for kiss', tone: 'Cute', traditional: '親親嘛', pinyin: 'qīn qīn ma', zhuyin: 'ㄑㄧㄣ ㄑㄧㄣ ˙ㄇㄚ', pronunciation: 'cheen cheen ma', meaning: 'kiss kiss, pleeease' }, { intent: 'Ask for kiss', tone: 'Cute', traditional: '來親一下', pinyin: 'lái qīn yí xià', zhuyin: 'ㄌㄞˊ ㄑㄧㄣ ㄧˊ ㄒㄧㄚˋ', pronunciation: 'lie cheen ee shyah', meaning: 'come give me a kiss' }, { intent: 'Ask for hug', tone: 'Natural', traditional: '可以抱一下嗎?', pinyin: 'kě yǐ bào yí xià ma', zhuyin: 'ㄎㄜˇ ㄧˇ ㄅㄠˋ ㄧˊ ㄒㄧㄚˋ ㄇㄚ˙', pronunciation: 'kuh yee bao ee shyah ma', meaning: 'can I have a hug?' }, { intent: 'Ask for hug', tone: 'Sweeter', traditional: '給我一個抱抱', pinyin: 'gěi wǒ yí gè bào bào', zhuyin: 'ㄍㄟˇ ㄨㄛˇ ㄧˊ ㄍㄜˋ ㄅㄠˋ ㄅㄠˋ', pronunciation: 'gay wo ee guh bao bao', meaning: 'give me a hug' }, { intent: 'Ask for hug', tone: 'Cute', traditional: '抱抱嘛', pinyin: 'bào bào ma', zhuyin: 'ㄅㄠˋ ㄅㄠˋ ˙ㄇㄚ', pronunciation: 'bao bao ma', meaning: 'hug hug please' }, { intent: 'Ask for hug', tone: 'Cute', traditional: '來抱一下', pinyin: 'lái bào yí xià', zhuyin: 'ㄌㄞˊ ㄅㄠˋ ㄧˊ ㄒㄧㄚˋ', pronunciation: 'lie bao ee shyah', meaning: 'come here for a hug' }, { intent: 'Ask to stay', tone: 'Natural', traditional: '陪我一下', pinyin: 'péi wǒ yí xià', zhuyin: 'ㄆㄟˊ ㄨㄛˇ ㄧˊ ㄒㄧㄚˋ', pronunciation: 'pay wo ee shyah', meaning: 'stay with me a bit' }, { intent: 'Ask to stay', tone: 'Cute', traditional: '陪我嘛', pinyin: 'péi wǒ ma', zhuyin: 'ㄆㄟˊ ㄨㄛˇ ˙ㄇㄚ', pronunciation: 'pay wo ma', meaning: 'stay with me please' } ];
const pack2Rows = [ { intent: 'Morning text', tone: 'Natural', traditional: '早安,今天加油', pinyin: 'zǎo ān, jīn tiān jiā yóu', zhuyin: 'ㄗㄠˇ ㄢ ㄐㄧㄣ ㄊㄧㄢ ㄐㄧㄚ ㄧㄡˊ', pronunciation: 'dzow an jin tyan jya yo', meaning: 'good morning, you got this today' }, { intent: 'Morning text', tone: 'Sweeter', traditional: '早安寶寶,今天也想你', pinyin: 'zǎo ān bǎo bǎo, jīn tiān yě xiǎng nǐ', zhuyin: 'ㄗㄠˇ ㄢ ㄅㄠˇ ㄅㄠˇ ㄐㄧㄣ ㄊㄧㄢ ㄧㄝˇ ㄒㄧㄤˇ ㄋㄧˇ', pronunciation: 'dzow an bao bao jin tyan yeh shyang nee', meaning: 'good morning baby, I miss you today too' }, { intent: 'Midday check', tone: 'Natural', traditional: '你吃飯了嗎?', pinyin: 'nǐ chī fàn le ma', zhuyin: 'ㄋㄧˇ ㄔ ㄈㄢˋ ˙ㄌㄜ ㄇㄚ˙', pronunciation: 'nee chr fan luh ma', meaning: 'did you eat yet?' }, { intent: 'Midday check', tone: 'Natural', traditional: '今天忙嗎?', pinyin: 'jīn tiān máng ma', zhuyin: 'ㄐㄧㄣ ㄊㄧㄢ ㄇㄤˊ ㄇㄚ˙', pronunciation: 'jin tyan mang ma', meaning: 'busy today?' }, { intent: 'Midday check', tone: 'Sweet', traditional: '想你的時候就想抱你', pinyin: 'xiǎng nǐ de shí hòu jiù xiǎng bào nǐ', zhuyin: 'ㄒㄧㄤˇ ㄋㄧˇ ˙ㄉㄜ ㄕˊ ㄏㄡˋ ㄐㄧㄡˋ ㄒㄧㄤˇ ㄅㄠˋ ㄋㄧˇ', pronunciation: 'shyang nee duh shir hoh jyoh shyang bao nee', meaning: 'when I miss you I just want to hug you' }, { intent: 'Evening check', tone: 'Natural', traditional: '你下班了嗎?', pinyin: 'nǐ xià bān le ma', zhuyin: 'ㄋㄧˇ ㄒㄧㄚˋ ㄅㄢ ˙ㄌㄜ ㄇㄚ˙', pronunciation: 'nee shyah ban luh ma', meaning: 'are you off work?' }, { intent: 'Evening check', tone: 'Natural', traditional: '到家跟我說一聲', pinyin: 'dào jiā gēn wǒ shuō yì shēng', zhuyin: 'ㄉㄠˋ ㄐㄧㄚ ㄍㄣ ㄨㄛˇ ㄕㄨㄛ ㄧˋ ㄕㄥ', pronunciation: 'dow jya gen wo shwo ee sheng', meaning: 'let me know when you get home' }, { intent: 'Reassure', tone: 'Natural', traditional: '我在,別擔心', pinyin: 'wǒ zài, bié dān xīn', zhuyin: 'ㄨㄛˇ ㄗㄞˋ ㄅㄧㄝˊ ㄉㄢ ㄒㄧㄣ', pronunciation: 'wo dzai bye dan shin', meaning: 'I am here, do not worry' }, { intent: 'Night text', tone: 'Natural', traditional: '晚安,早點休息', pinyin: 'wǎn ān, zǎo diǎn xiū xí', zhuyin: 'ㄨㄢˇ ㄢ ㄗㄠˇ ㄉㄧㄢˇ ㄒㄧㄡ ㄒㄧˊ', pronunciation: 'wan an dzow dyen shyo shee', meaning: 'good night, rest early' }, { intent: 'Night text', tone: 'Sweeter', traditional: '晚安寶寶,夢到我', pinyin: 'wǎn ān bǎo bǎo, mèng dào wǒ', zhuyin: 'ㄨㄢˇ ㄢ ㄅㄠˇ ㄅㄠˇ ㄇㄥˋ ㄉㄠˋ ㄨㄛˇ', pronunciation: 'wan an bao bao mung dow wo', meaning: 'good night baby, dream of me' } ];
const pack3Rows = [ { intent: 'Validate effort', tone: 'Natural', traditional: '辛苦了', pinyin: 'xīn kǔ le', zhuyin: 'ㄒㄧㄣ ㄎㄨˇ ˙ㄌㄜ', pronunciation: 'shin koo luh', meaning: 'you worked hard' }, { intent: 'Validate effort', tone: 'Natural', traditional: '你今天辛苦了', pinyin: 'nǐ jīn tiān xīn kǔ le', zhuyin: 'ㄋㄧˇ ㄐㄧㄣ ㄊㄧㄢ ㄒㄧㄣ ㄎㄨˇ ˙ㄌㄜ', pronunciation: 'nee jin tyan shin koo luh', meaning: 'you worked hard today' }, { intent: 'Emotional support', tone: 'Natural', traditional: '我在你身邊', pinyin: 'wǒ zài nǐ shēn biān', zhuyin: 'ㄨㄛˇ ㄗㄞˋ ㄋㄧˇ ㄕㄣ ㄅㄧㄢ', pronunciation: 'wo dzai nee shen byen', meaning: 'I am by your side' }, { intent: 'Emotional support', tone: 'Natural', traditional: '我陪你', pinyin: 'wǒ péi nǐ', zhuyin: 'ㄨㄛˇ ㄆㄟˊ ㄋㄧˇ', pronunciation: 'wo pay nee', meaning: 'I will stay with you' }, { intent: 'Emotional support', tone: 'Natural', traditional: '我們一起面對', pinyin: 'wǒ men yì qǐ miàn duì', zhuyin: 'ㄨㄛˇ ㄇㄣ˙ ㄧˋ ㄑㄧˇ ㄇㄧㄢˋ ㄉㄨㄟˋ', pronunciation: 'wo men ee chee myen dway', meaning: 'we face it together' }, { intent: 'Calm down', tone: 'Natural', traditional: '慢慢來,不急', pinyin: 'màn màn lái, bù jí', zhuyin: 'ㄇㄢˋ ㄇㄢˋ ㄌㄞˊ ㄅㄨˋ ㄐㄧˊ', pronunciation: 'man man lie boo jee', meaning: 'take your time, no rush' }, { intent: 'Reassure', tone: 'Natural', traditional: '沒事,有我在', pinyin: 'méi shì, yǒu wǒ zài', zhuyin: 'ㄇㄟˊ ㄕˋ ㄧㄡˇ ㄨㄛˇ ㄗㄞˋ', pronunciation: 'may shir yo wo dzai', meaning: 'it is okay, I am here' }, { intent: 'Reassure', tone: 'Sweet', traditional: '我會一直陪你', pinyin: 'wǒ huì yì zhí péi nǐ', zhuyin: 'ㄨㄛˇ ㄏㄨㄟˋ ㄧˋ ㄓˊ ㄆㄟˊ ㄋㄧˇ', pronunciation: 'wo hway ee jir pay nee', meaning: 'I will stay by you' }, { intent: 'Comfort ask', tone: 'Natural', traditional: '想說的時候再說', pinyin: 'xiǎng shuō de shí hòu zài shuō', zhuyin: 'ㄒㄧㄤˇ ㄕㄨㄛ ˙ㄉㄜ ㄕˊ ㄏㄡˋ ㄗㄞˋ ㄕㄨㄛ', pronunciation: 'shyang shwo duh shir hoh dzai shwo', meaning: 'talk when you are ready' }, { intent: 'Comfort ask', tone: 'Sweet', traditional: '抱一下就會好一點', pinyin: 'bào yí xià jiù huì hǎo yì diǎn', zhuyin: 'ㄅㄠˋ ㄧˊ ㄒㄧㄚˋ ㄐㄧㄡˋ ㄏㄨㄟˋ ㄏㄠˇ ㄧˋ ㄉㄧㄢˇ', pronunciation: 'bao ee shyah jyoh hway how ee dyen', meaning: 'one hug will help' } ];
const pack4Rows = [ { intent: 'Cute kiss', tone: 'Cute', traditional: '親親', pinyin: 'qīn qīn', zhuyin: 'ㄑㄧㄣ ㄑㄧㄣ', pronunciation: 'cheen cheen', meaning: 'kiss kiss' }, { intent: 'Cute hug', tone: 'Cute', traditional: '抱抱', pinyin: 'bào bào', zhuyin: 'ㄅㄠˋ ㄅㄠˋ', pronunciation: 'bao bao', meaning: 'hug hug' }, { intent: 'Cute praise', tone: 'Cute', traditional: '你最可愛了', pinyin: 'nǐ zuì kě ài le', zhuyin: 'ㄋㄧˇ ㄗㄨㄟˋ ㄎㄜˇ ㄞˋ ˙ㄌㄜ', pronunciation: 'nee dzway kuh eye luh', meaning: 'you are the cutest' }, { intent: 'Cute praise', tone: 'Cute', traditional: '你最乖了', pinyin: 'nǐ zuì guāi le', zhuyin: 'ㄋㄧˇ ㄗㄨㄟˋ ㄍㄨㄞ ˙ㄌㄜ', pronunciation: 'nee dzway gwai luh', meaning: 'you are the sweetest' }, { intent: 'Playful beg', tone: 'Cute', traditional: '不要走嘛', pinyin: 'bú yào zǒu ma', zhuyin: 'ㄅㄨˊ ㄧㄠˋ ㄗㄡˇ ˙ㄇㄚ', pronunciation: 'boo yow dzoh ma', meaning: 'do not gooo' }, { intent: 'Playful beg', tone: 'Cute', traditional: '再陪我一下嘛', pinyin: 'zài péi wǒ yí xià ma', zhuyin: 'ㄗㄞˋ ㄆㄟˊ ㄨㄛˇ ㄧˊ ㄒㄧㄚˋ ˙ㄇㄚ', pronunciation: 'dzai pay wo ee shyah ma', meaning: 'stay with me a little more' }, { intent: 'Comfort cute', tone: 'Cute', traditional: '秀秀', pinyin: 'xiù xiù', zhuyin: 'ㄒㄧㄡˋ ㄒㄧㄡˋ', pronunciation: 'shyo shyo', meaning: 'there there' }, { intent: 'Comfort cute', tone: 'Cute', traditional: '不哭哭', pinyin: 'bù kū kū', zhuyin: 'ㄅㄨˋ ㄎㄨ ㄎㄨ', pronunciation: 'boo koo koo', meaning: 'do not cry cry' }, { intent: 'Teasing cute', tone: 'Cute', traditional: '你怎麼這麼可愛', pinyin: 'nǐ zěn me zhè me kě ài', zhuyin: 'ㄋㄧˇ ㄗㄣˇ ˙ㄇㄜ ㄓㄜˋ ˙ㄇㄜ ㄎㄜˇ ㄞˋ', pronunciation: 'nee zen muh juh muh kuh eye', meaning: 'how are you this cute' }, { intent: 'Teasing cute', tone: 'Cute', traditional: '可愛到不行', pinyin: 'kě ài dào bù xíng', zhuyin: 'ㄎㄜˇ ㄞˋ ㄉㄠˋ ㄅㄨˋ ㄒㄧㄥˊ', pronunciation: 'kuh eye dow boo shing', meaning: 'unbearably cute' } ];
const notesColumns = [ { key: 'topic', label: 'Topic', minWidth: '11rem' }, { key: 'guidance', label: 'Guidance', minWidth: '28rem' } ];
const notesRows = [ { topic: '寶寶 vs 北鼻', guidance: '寶寶 is sweet and safe. 北鼻 is very Taipei-cute slang and more playful.' }, { topic: '喔', guidance: 'Softens tone in messages. 好想你喔 feels warmer than plain 我想你.' }, { topic: '嘛', guidance: 'Sounds pleading/cute. Use with close intimacy, not in serious moments.' }, { topic: '啦', guidance: 'Adds lightness/playfulness. 愛你啦 is casual and affectionate.' }, { topic: 'Best balance', guidance: 'Use mostly Natural + Sweet lines, then sprinkle Cute lines when the mood fits.' } ];
const copyColumns = [ { key: 'style', label: 'Style', minWidth: '10rem', nowrap: true }, { key: 'traditional', label: 'Traditional Chinese', minWidth: '22rem' }, { key: 'pinyin', label: 'Pinyin', minWidth: '22rem' }, { key: 'zhuyin', label: 'Zhuyin', minWidth: '20rem' }, { key: 'english', label: 'English', minWidth: '20rem' } ];
const copyRows = [ { style: 'Natural romantic', traditional: '寶寶,今天辛苦了。到家跟我說。', pinyin: 'Bǎo bǎo, jīn tiān xīn kǔ le. Dào jiā gēn wǒ shuō.', zhuyin: 'ㄅㄠˇ ㄅㄠˇ ㄐㄧㄣ ㄊㄧㄢ ㄒㄧㄣ ㄎㄨˇ ˙ㄌㄜ ㄉㄠˋ ㄐㄧㄚ ㄍㄣ ㄨㄛˇ ㄕㄨㄛ', english: 'Baby, you worked hard today. Text me when you get home.' }, { style: 'Warm sweet', traditional: '我好想你。晚安,做個好夢。', pinyin: 'Wǒ hǎo xiǎng nǐ. Wǎn ān, zuò ge hǎo mèng.', zhuyin: 'ㄨㄛˇ ㄏㄠˇ ㄒㄧㄤˇ ㄋㄧˇ ㄨㄢˇ ㄢ ㄗㄨㄛˋ ㄍㄜ˙ ㄏㄠˇ ㄇㄥˋ', english: 'I miss you so much. Good night, sweet dreams.' }, { style: 'Grateful', traditional: '謝謝你陪我,有你真好。', pinyin: 'Xiè xie nǐ péi wǒ, yǒu nǐ zhēn hǎo.', zhuyin: 'ㄒㄧㄝˋ ㄒㄧㄝ˙ ㄋㄧˇ ㄆㄟˊ ㄨㄛˇ ㄧㄡˇ ㄋㄧˇ ㄓㄣ ㄏㄠˇ', english: 'Thank you for being with me. Having you is so good.' }, { style: 'Flirty sweet', traditional: '你今天超可愛,可以抱一下嗎?', pinyin: 'Nǐ jīn tiān chāo kě ài, kě yǐ bào yí xià ma?', zhuyin: 'ㄋㄧˇ ㄐㄧㄣ ㄊㄧㄢ ㄔㄠ ㄎㄜˇ ㄞˋ ㄎㄜˇ ㄧˇ ㄅㄠˋ ㄧˊ ㄒㄧㄚˋ ㄇㄚ˙', english: 'You are extra cute today, can I have a hug?' }, { style: 'Cute optional', traditional: '親親嘛,再陪我一下嘛。', pinyin: 'Qīn qīn ma, zài péi wǒ yí xià ma.', zhuyin: 'ㄑㄧㄣ ㄑㄧㄣ ˙ㄇㄚ ㄗㄞˋ ㄆㄟˊ ㄨㄛˇ ㄧˊ ㄒㄧㄚˋ ˙ㄇㄚ', english: 'Kiss meee, stay with me a little more.' }, { style: 'Calm support', traditional: '沒事,有我在。慢慢來。', pinyin: 'Méi shì, yǒu wǒ zài. Màn màn lái.', zhuyin: 'ㄇㄟˊ ㄕˋ ㄧㄡˇ ㄨㄛˇ ㄗㄞˋ ㄇㄢˋ ㄇㄢˋ ㄌㄞˊ', english: 'It is okay, I am here. Take your time.' } ];
const practiceColumns = [ { key: 'day', label: 'Day', minWidth: '7rem', nowrap: true }, { key: 'focus', label: 'Focus', minWidth: '10rem' }, { key: 'task', label: 'Task', minWidth: '28rem' } ];
const practiceRows = [ { day: 'Day 1', focus: 'Natural core', task: 'Send 3 Natural lines (我想你, 你今天辛苦了, 到家跟我說).' }, { day: 'Day 2', focus: 'Sweet upgrade', task: 'Replace one Natural line with a Sweet variant (好想你喔, 有你真好).' }, { day: 'Day 3', focus: 'Affection asks', task: 'Practice the Natural and Cute kiss/hug ladders out loud.' }, { day: 'Day 4', focus: 'Support tone', task: 'Use 2 support lines during a real stress moment.' }, { day: 'Day 5', focus: 'Taipei particles', task: 'Add 喔 or 啦 to 2 texts and compare tone.' }, { day: 'Day 6', focus: 'Copy-and-send', task: 'Send one full 2-line message from the examples table.' }, { day: 'Day 7', focus: 'Personal set', task: 'Keep your top 10 lines and save them as pinned message templates.' } ]; </script>
Why This Guide Exists
To be fully honest, I started learning Mandarin because of my partner Yvette. She is wonderful.
Her native language is Taiwanese Mandarin, and while she speaks English fluently, it is not fair that I can only speak to her in English and make her carry all the translation work.
This version is intentionally less baby-talk and more natural romantic tone. I still call her 寶寶, but this guide is built to sound normal, warm, and usable in Taipei daily life.
How to Use This Guide
- Start with the Natural rows first, then add Sweet/Cute variants that fit your dynamic.
- Use Traditional Chinese for texting, then read the pinyin and Zhuyin out loud.
- Taipei Mandarin often softens tone with particles like
喔,啦, and嘛; use them lightly. - Keep the phrases your partner responds to best, and skip the ones that feel forced.
Core Phrases and Pronunciation
<ResponsiveTable columns={phraseColumns} rows={coreRows} cardTitleKey="traditional" cardSubtitleKey="meaning" intentKey="intent" toneKey="tone" copyKey="traditional" />
Situation Packs
Pack 1: Asking for Affection (Natural -> Sweet -> Cute)
<ResponsiveTable columns={phraseColumns} rows={pack1Rows} cardTitleKey="traditional" cardSubtitleKey="meaning" intentKey="intent" toneKey="tone" copyKey="traditional" />
Pack 2: Daily Romantic Texts (Taipei Everyday Tone)
<ResponsiveTable columns={phraseColumns} rows={pack2Rows} cardTitleKey="traditional" cardSubtitleKey="meaning" intentKey="intent" toneKey="tone" copyKey="traditional" />
Pack 3: Support and Reassurance
<ResponsiveTable columns={phraseColumns} rows={pack3Rows} cardTitleKey="traditional" cardSubtitleKey="meaning" intentKey="intent" toneKey="tone" copyKey="traditional" />
Pack 4: Playful and Cute (Optional)
<ResponsiveTable columns={phraseColumns} rows={pack4Rows} cardTitleKey="traditional" cardSubtitleKey="meaning" intentKey="intent" toneKey="tone" copyKey="traditional" />
Notes and Nuance
<ResponsiveTable columns={notesColumns} rows={notesRows} cardTitleKey="topic" cardSubtitleKey="guidance" dense={true} />
Copy-and-Send Text Examples
<ResponsiveTable columns={copyColumns} rows={copyRows} cardTitleKey="style" cardSubtitleKey="english" />
Practice Plan
<ResponsiveTable columns={practiceColumns} rows={practiceRows} cardTitleKey="day" cardSubtitleKey="task" dense={true} />
