Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
26 changes: 22 additions & 4 deletions flutter_app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,18 @@ Mandarin Pathways has been converted from a Progressive Web App (PWA) to a nativ

## Features

### 📚 Full PWA Parity (2026)

- **Learning dashboard**: streaks, SRS due count, placement recommendation, achievements
- **SRS flashcards**: spaced repetition with again/good/easy grading
- **Starred phrase review**: bookmark phrases from daily lessons
- **Placement test**: level assessment with recommended start day
- **Day quizzes**: self-assessment for days 1, 8, 16, 31+
- **Karaoke audio sync**: phrase highlighting during playback
- **Reading & writing**: full topic navigation with bundled content
- **Character canvas**: touch drawing practice for writing exercises
- **Progress portability**: export/import JSON compatible with PWA localStorage keys

### 📚 40-Day Structured Curriculum

- Daily lessons organized into 5 progressive sections
Expand Down Expand Up @@ -319,14 +331,20 @@ flutter pub cache repair

## Future Enhancements

- [ ] Canvas-based character drawing practice
- [ ] Speech recognition for pronunciation practice
- [ ] Spaced repetition flashcards
- [ ] Social features (study groups, leaderboards)
- [ ] Offline media caching enhancements
- [ ] Multi-user profiles
- [ ] Cloud sync across devices

## Asset sync

After regenerating PWA content, sync assets into the Flutter bundle:

```bash
python scripts/sync_flutter_assets.py
cd flutter_app && flutter pub get
```

## Contributing

Contributions are welcome! Please:
Expand All @@ -351,4 +369,4 @@ For issues, questions, or suggestions:

---

**Note**: This Flutter client mirrors the Mandarin Pathways curriculum and primary flows from the sibling PWA (home, the 40-day course, supplementary material, plus reading/writing practice) while trading the browser runtime for Flutter's native shell, richer bundled-audio controls, and installable/mobile/desktop binaries.
**Note**: This Flutter client mirrors the full PWA feature set: 40-day course, supplementary material, reading/writing practice, SRS flashcards, starred review, placement test, day quizzes, streaks/achievements, and progress portability.
Binary file modified flutter_app/assets/audio/day10_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day10_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day11_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day11_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day12_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day12_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day13_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day13_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day14_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day14_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day15_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day15_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day16_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day16_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day17_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day17_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day18_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day18_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day19_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day19_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day1_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day1_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day20_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day20_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day21_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day21_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day22_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day22_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day23_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day23_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day24_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day24_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day25_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day25_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day26_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day26_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day27_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day27_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day28_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day28_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day29_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day29_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day2_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day2_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day30_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day30_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day31_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day31_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day32_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day32_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day33_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day33_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day34_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day34_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day35_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day35_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day36_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day36_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day37_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day37_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day38_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day38_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day39_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day39_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day3_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day3_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day40_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day40_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day4_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day4_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day5_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day5_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day6_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day6_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day7_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day7_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day8_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day8_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day9_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/day9_zh.mp3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified flutter_app/assets/audio/reading/beginner_daily_routine_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/reading/beginner_daily_routine_zh.mp3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified flutter_app/assets/audio/supplementary/comparisons_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/supplementary/comparisons_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/supplementary/daily_life_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/supplementary/daily_life_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/supplementary/education_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/supplementary/education_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/supplementary/emotions_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/supplementary/emotions_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/supplementary/hobbies_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/supplementary/hobbies_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/character_basic_strokes_en.mp3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/character_hsk2_-_basic_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/character_hsk2_-_basic_zh.mp3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/character_numbers_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/character_numbers_zh.mp3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/character_theme_-_food_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/character_theme_-_food_zh.mp3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/sentence_advanced_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/sentence_advanced_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/sentence_beginner_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/sentence_beginner_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/sentence_intermediate_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/sentence_intermediate_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/translation_advanced_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/translation_advanced_zh.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/translation_beginner_en.mp3
Binary file not shown.
Binary file modified flutter_app/assets/audio/writing/translation_beginner_zh.mp3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
Reading Exercise
---------------

In recent years, environmental protection has become an important topic of global concern. With the development of industrialization and urbanization, environmental problems such as air pollution, water pollution, and soil pollution are becoming increasingly serious. Many countries have begun to take measures to reduce carbon emissions and develop renewable energy sources such as solar and wind energy. Individuals can also contribute to environmental protection by reducing the use of plastic bags, conserving water and electricity, using public transportation, and other methods. Protecting the environment is not only the responsibility of the government but also the duty of every citizen.

生词表 / Vocabulary
--------------------

• environmental protection (huánjìng bǎohù) - 环境保护
• global (quánqiú) - 全球
• to pay attention to (guānzhù) - 关注
• topic (huàtí) - 话题
• industrialization (gōngyèhuà) - 工业化
• urbanization (chéngshìhuà) - 城市化
• development (fāzhǎn) - 发展
• air pollution (kōngqì wūrǎn) - 空气污染
• water pollution (shuǐ wūrǎn) - 水污染
• soil pollution (tǔrǎng wūrǎn) - 土壤污染
• increasingly (rìyì) - 日益
• serious (yánzhòng) - 严重
• to take measures (cǎiqǔ cuòshī) - 采取措施
• to reduce (jiǎnshǎo) - 减少
• carbon emissions (tàn pái fàng) - 碳排放
• renewable energy (kě zàishēng néngyuán) - 可再生能源
• solar energy (tàiyángnéng) - 太阳能
• wind energy (fēngnéng) - 风能
• plastic bag (sùliào dài) - 塑料袋
• to conserve (jiéyuē) - 节约
• public transportation (gōnggòng jiāotōng gōngjù) - 公共交通工具
• contribution (gòngxiàn) - 贡献
• responsibility (zérèn) - 责任
• citizen (gōngmín) - 公民
• duty (yìwù) - 义务


理解问题 / Comprehension Questions
------------------------------

【Question 1】 Why has environmental protection become an important topic?
Answer: 因为随着工业化和城市化的发展,环境问题日益严重。

【Question 2】 What measures have countries taken to protect the environment?
Answer: 减少碳排放,发展可再生能源,如太阳能和风能。

【Question 3】 How can individuals contribute to environmental protection?
Answer: 减少使用塑料袋、节约用水和用电、使用公共交通工具等。

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
Reading Exercise (Pinyin)
--------------------

Jìn niánlái, huánjìng bǎohù yǐjīng chéngwéi quánqiú guānzhù de zhòngyào huàtí. Suízhe gōngyèhuà hé chéngshìhuà de fāzhǎn, kōngqì wūrǎn, shuǐ wūrǎn hé tǔrǎng wūrǎn děng huánjìng wèntí rìyì yánzhòng. Xǔduō guójiā kāishǐ cǎiqǔ cuòshī jiǎnshǎo tàn pái fàng, fāzhǎn kě zàishēng néngyuán, rú tàiyángnéng hé fēngnéng. Gèrén yě kěyǐ tōngguò jiǎnshǎo shǐyòng sùliào dài, jiéyuē yòngshuǐ hé yòngdiàn, shǐyòng gōnggòng jiāotōng gōngjù děng fāngshì wèi huánbǎo zuò chū gòngxiàn. Bǎohù huánjìng bùjǐn shì zhèngfǔ de zérèn, yěshì měi gè gōngmín de yìwù.

生词表 / Vocabulary
--------------------

• huánjìng bǎohù (环境保护) - environmental protection
• quánqiú (全球) - global
• guānzhù (关注) - to pay attention to
• huàtí (话题) - topic
• gōngyèhuà (工业化) - industrialization
• chéngshìhuà (城市化) - urbanization
• fāzhǎn (发展) - development
• kōngqì wūrǎn (空气污染) - air pollution
• shuǐ wūrǎn (水污染) - water pollution
• tǔrǎng wūrǎn (土壤污染) - soil pollution
• rìyì (日益) - increasingly
• yánzhòng (严重) - serious
• cǎiqǔ cuòshī (采取措施) - to take measures
• jiǎnshǎo (减少) - to reduce
• tàn pái fàng (碳排放) - carbon emissions
• kě zàishēng néngyuán (可再生能源) - renewable energy
• tàiyángnéng (太阳能) - solar energy
• fēngnéng (风能) - wind energy
• sùliào dài (塑料袋) - plastic bag
• jiéyuē (节约) - to conserve
• gōnggòng jiāotōng gōngjù (公共交通工具) - public transportation
• gòngxiàn (贡献) - contribution
• zérèn (责任) - responsibility
• gōngmín (公民) - citizen
• yìwù (义务) - duty


理解问题 / Comprehension Questions
------------------------------

【Question 1】 Huánjìng bǎohù wèishénme chéngwéi zhòngyào huàtí?
Answer: 因为随着工业化和城市化的发展,环境问题日益严重。

【Question 2】 Guójiā cǎiqǔle nǎxiē cuòshī bǎohù huánjìng?
Answer: 减少碳排放,发展可再生能源,如太阳能和风能。

【Question 3】 Gèrén rúhé wèi huánbǎo zuò gòngxiàn?
Answer: 减少使用塑料袋、节约用水和用电、使用公共交通工具等。

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
阅读练习
----------

近年来,环境保护已经成为全球关注的重要话题。随着工业化和城市化的发展,空气污染、水污染和土壤污染等环境问题日益严重。许多国家开始采取措施减少碳排放,发展可再生能源,如太阳能和风能。个人也可以通过减少使用塑料袋、节约用水和用电、使用公共交通工具等方式为环保做出贡献。保护环境不仅是政府的责任,也是每个公民的义务。

生词表 / Vocabulary
--------------------

• 环境保护 (huánjìng bǎohù) - environmental protection
• 全球 (quánqiú) - global
• 关注 (guānzhù) - to pay attention to
• 话题 (huàtí) - topic
• 工业化 (gōngyèhuà) - industrialization
• 城市化 (chéngshìhuà) - urbanization
• 发展 (fāzhǎn) - development
• 空气污染 (kōngqì wūrǎn) - air pollution
• 水污染 (shuǐ wūrǎn) - water pollution
• 土壤污染 (tǔrǎng wūrǎn) - soil pollution
• 日益 (rìyì) - increasingly
• 严重 (yánzhòng) - serious
• 采取措施 (cǎiqǔ cuòshī) - to take measures
• 减少 (jiǎnshǎo) - to reduce
• 碳排放 (tàn pái fàng) - carbon emissions
• 可再生能源 (kě zàishēng néngyuán) - renewable energy
• 太阳能 (tàiyángnéng) - solar energy
• 风能 (fēngnéng) - wind energy
• 塑料袋 (sùliào dài) - plastic bag
• 节约 (jiéyuē) - to conserve
• 公共交通工具 (gōnggòng jiāotōng gōngjù) - public transportation
• 贡献 (gòngxiàn) - contribution
• 责任 (zérèn) - responsibility
• 公民 (gōngmín) - citizen
• 义务 (yìwù) - duty


理解问题 / Comprehension Questions
------------------------------

【问题 1】 环境保护为什么成为重要话题?
答案: 因为随着工业化和城市化的发展,环境问题日益严重。

【问题 2】 国家采取了哪些措施保护环境?
答案: 减少碳排放,发展可再生能源,如太阳能和风能。

【问题 3】 个人如何为环保做贡献?
答案: 减少使用塑料袋、节约用水和用电、使用公共交通工具等。

36 changes: 36 additions & 0 deletions flutter_app/assets/reading/beginner_daily_routine_en.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Reading Exercise
---------------

I get up at 6:00 every morning. I eat breakfast at 7:00. I go to school at 8:00. I eat lunch at 12:00 noon. I finish class at 3:00 in the afternoon. I eat dinner at 6:00 in the evening. I go to bed at 10:00 at night.

生词表 / Vocabulary
--------------------

• every day (měitiān) - 每天
• morning (zǎoshang) - 早上
• to get up (qǐchuáng) - 起床
• to eat (chī) - 吃
• breakfast (zǎofàn) - 早饭
• to go (qù) - 去
• school (xuéxiào) - 学校
• noon (zhōngwǔ) - 中午
• lunch (wǔfàn) - 午饭
• afternoon (xiàwǔ) - 下午
• to finish class (xiàkè) - 下课
• evening (wǎnshang) - 晚上
• dinner (wǎnfàn) - 晚饭
• to sleep (shuìjiào) - 睡觉


理解问题 / Comprehension Questions
------------------------------

【Question 1】 What time do they get up?
Answer: 早上六点起床。

【Question 2】 What time do they go to school?
Answer: 八点去学校。

【Question 3】 What time do they go to bed?
Answer: 晚上十点睡觉。

36 changes: 36 additions & 0 deletions flutter_app/assets/reading/beginner_daily_routine_pinyin.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Reading Exercise (Pinyin)
--------------------

Wǒ měitiān zǎoshang liù diǎn qǐchuáng. Wǒ qī diǎn chī zǎofàn. Bā diǎn qù xuéxiào. Zhōngwǔ shí'èr diǎn chī wǔfàn. Xiàwǔ sān diǎn xiàkè. Wǎnshang liù diǎn chī wǎnfàn. Wǎnshang shí diǎn shuìjiào.

生词表 / Vocabulary
--------------------

• měitiān (每天) - every day
• zǎoshang (早上) - morning
• qǐchuáng (起床) - to get up
• chī (吃) - to eat
• zǎofàn (早饭) - breakfast
• qù (去) - to go
• xuéxiào (学校) - school
• zhōngwǔ (中午) - noon
• wǔfàn (午饭) - lunch
• xiàwǔ (下午) - afternoon
• xiàkè (下课) - to finish class
• wǎnshang (晚上) - evening
• wǎnfàn (晚饭) - dinner
• shuìjiào (睡觉) - to sleep


理解问题 / Comprehension Questions
------------------------------

【Question 1】 Jǐ diǎn qǐchuáng?
Answer: 早上六点起床。

【Question 2】 Jǐ diǎn qù xuéxiào?
Answer: 八点去学校。

【Question 3】 Jǐ diǎn shuìjiào?
Answer: 晚上十点睡觉。

36 changes: 36 additions & 0 deletions flutter_app/assets/reading/beginner_daily_routine_zh.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
阅读练习
----------

我每天早上六点起床。我七点吃早饭。八点去学校。中午十二点吃午饭。下午三点下课。晚上六点吃晚饭。晚上十点睡觉。

生词表 / Vocabulary
--------------------

• 每天 (měitiān) - every day
• 早上 (zǎoshang) - morning
• 起床 (qǐchuáng) - to get up
• 吃 (chī) - to eat
• 早饭 (zǎofàn) - breakfast
• 去 (qù) - to go
• 学校 (xuéxiào) - school
• 中午 (zhōngwǔ) - noon
• 午饭 (wǔfàn) - lunch
• 下午 (xiàwǔ) - afternoon
• 下课 (xiàkè) - to finish class
• 晚上 (wǎnshang) - evening
• 晚饭 (wǎnfàn) - dinner
• 睡觉 (shuìjiào) - to sleep


理解问题 / Comprehension Questions
------------------------------

【问题 1】 几点起床?
答案: 早上六点起床。

【问题 2】 几点去学校?
答案: 八点去学校。

【问题 3】 几点睡觉?
答案: 晚上十点睡觉。

35 changes: 35 additions & 0 deletions flutter_app/assets/reading/beginner_self_introduction_en.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Reading Exercise
---------------

My name is Li Ming. I am a student. I am twenty years old. I like learning Chinese. I also like listening to music and watching movies.

生词表 / Vocabulary
--------------------

• I, me (wǒ) - 我
• to be called (jiào) - 叫
• student (xuésheng) - 学生
• this year (jīnnián) - 今年
• years old (suì) - 岁
• to like (xǐhuan) - 喜欢
• to study (xuéxí) - 学习
• Chinese language (zhōngwén) - 中文
• also (yě) - 也
• to listen (tīng) - 听
• music (yīnyuè) - 音乐
• to watch (kàn) - 看
• movie (diànyǐng) - 电影


理解问题 / Comprehension Questions
------------------------------

【Question 1】 Who is Li Ming?
Answer: 他是学生。

【Question 2】 How old is Li Ming?
Answer: 他二十岁。

【Question 3】 What does Li Ming like?
Answer: 他喜欢学习中文、听音乐和看电影。

35 changes: 35 additions & 0 deletions flutter_app/assets/reading/beginner_self_introduction_pinyin.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Reading Exercise (Pinyin)
--------------------

Wǒ jiào Lǐ Míng. Wǒ shì xuésheng. Wǒ jīnnián èrshí suì. Wǒ xǐhuan xuéxí zhōngwén. Wǒ yě xǐhuan tīng yīnyuè hé kàn diànyǐng.

生词表 / Vocabulary
--------------------

• wǒ (我) - I, me
• jiào (叫) - to be called
• xuésheng (学生) - student
• jīnnián (今年) - this year
• suì (岁) - years old
• xǐhuan (喜欢) - to like
• xuéxí (学习) - to study
• zhōngwén (中文) - Chinese language
• yě (也) - also
• tīng (听) - to listen
• yīnyuè (音乐) - music
• kàn (看) - to watch
• diànyǐng (电影) - movie


理解问题 / Comprehension Questions
------------------------------

【Question 1】 Lǐ Míng shì shéi?
Answer: 他是学生。

【Question 2】 Lǐ Míng duō dà?
Answer: 他二十岁。

【Question 3】 Lǐ Míng xǐhuan shénme?
Answer: 他喜欢学习中文、听音乐和看电影。

Loading
Loading