Vocabulary study with FSRS spaced repetition, AI tutoring (Ollama/Claude), essay marking, idioms browser, Anki export, and dashboard. 918 vocabulary entries across 39 categories. 41 tests passing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1101 lines
43 KiB
Python
1101 lines
43 KiB
Python
#!/usr/bin/env python3
|
|
"""Build vocabulary.json from inline data."""
|
|
import json
|
|
from pathlib import Path
|
|
|
|
vocab = []
|
|
|
|
def add(section, category, entries):
|
|
for eng, per, fin in entries:
|
|
wid = category.lower().replace(" ", "_").replace("/", "_").replace("&", "and")
|
|
word = eng.lower().replace(" ", "_").replace("to ", "").replace("'", "")
|
|
vocab.append({
|
|
"id": f"{wid}_{word}",
|
|
"section": section,
|
|
"category": category,
|
|
"english": eng,
|
|
"persian": per,
|
|
"finglish": fin,
|
|
})
|
|
|
|
S1 = "High-frequency language"
|
|
S2 = "Topic-specific vocabulary"
|
|
|
|
# ── Common verbs ──
|
|
add(S1, "Common verbs", [
|
|
("to accept", "قبول کردن", "ghabul kardan"),
|
|
("to achieve", "بدست آوردن", "be dast âvardan"),
|
|
("to add", "اضافه کردن", "ezâfe kardan"),
|
|
("to agree", "موافقت کردن", "movâfeghat kardan"),
|
|
("to allow", "اجازه دادن", "ejâze dâdan"),
|
|
("to answer", "جواب دادن", "javâb dâdan"),
|
|
("to arrive", "رسیدن", "residan"),
|
|
("to ask", "پرسیدن", "porsidan"),
|
|
("to be", "بودن", "budan"),
|
|
("to become", "شدن", "shodan"),
|
|
("to begin", "شروع کردن", "shoru' kardan"),
|
|
("to believe", "باور کردن", "bâvar kardan"),
|
|
("to bring", "آوردن", "âvardan"),
|
|
("to build", "ساختن", "sâkhtan"),
|
|
("to buy", "خریدن", "kharidan"),
|
|
("to call", "زنگ زدن", "zang zadan"),
|
|
("to carry", "حمل کردن", "haml kardan"),
|
|
("to catch", "گرفتن", "gereftan"),
|
|
("to change", "عوض کردن", "avaz kardan"),
|
|
("to choose", "انتخاب کردن", "entekhâb kardan"),
|
|
("to close", "بستن", "bastan"),
|
|
("to come", "آمدن", "âmadan"),
|
|
("to continue", "ادامه دادن", "edâme dâdan"),
|
|
("to cook", "آشپزی کردن", "âshpazi kardan"),
|
|
("to cost", "قیمت داشتن", "gheymat dâshtan"),
|
|
("to count", "شمردن", "shemordan"),
|
|
("to create", "ایجاد کردن", "ijâd kardan"),
|
|
("to cross", "رد شدن", "rad shodan"),
|
|
("to cry", "گریه کردن", "gerye kardan"),
|
|
("to cut", "بریدن", "boridan"),
|
|
("to dance", "رقصیدن", "raghsidan"),
|
|
("to decide", "تصمیم گرفتن", "tasmim gereftan"),
|
|
("to describe", "توصیف کردن", "tosif kardan"),
|
|
("to develop", "توسعه دادن", "tose'e dâdan"),
|
|
("to die", "مردن", "mordan"),
|
|
("to do", "انجام دادن", "anjâm dâdan"),
|
|
("to draw", "نقاشی کردن", "naghâshi kardan"),
|
|
("to dream", "خواب دیدن", "khâb didan"),
|
|
("to drink", "نوشیدن", "nushidan"),
|
|
("to drive", "رانندگی کردن", "rânandegi kardan"),
|
|
("to eat", "خوردن", "khordan"),
|
|
("to enjoy", "لذت بردن", "lezzat bordan"),
|
|
("to enter", "وارد شدن", "vâred shodan"),
|
|
("to explain", "توضیح دادن", "tozih dâdan"),
|
|
("to fall", "افتادن", "oftâdan"),
|
|
("to feel", "احساس کردن", "ehsâs kardan"),
|
|
("to find", "پیدا کردن", "peydâ kardan"),
|
|
("to finish", "تمام کردن", "tamâm kardan"),
|
|
("to fly", "پرواز کردن", "parvâz kardan"),
|
|
("to follow", "دنبال کردن", "donbâl kardan"),
|
|
("to forget", "فراموش کردن", "farâmush kardan"),
|
|
("to get", "گرفتن", "gereftan"),
|
|
("to give", "دادن", "dâdan"),
|
|
("to go", "رفتن", "raftan"),
|
|
("to grow", "رشد کردن", "roshd kardan"),
|
|
("to happen", "اتفاق افتادن", "ettefâgh oftâdan"),
|
|
("to hate", "متنفر بودن", "motenaffer budan"),
|
|
("to have", "داشتن", "dâshtan"),
|
|
("to hear", "شنیدن", "shenidan"),
|
|
("to help", "کمک کردن", "komak kardan"),
|
|
("to hold", "نگه داشتن", "negah dâshtan"),
|
|
("to hope", "امیدوار بودن", "omidvâr budan"),
|
|
("to hurt", "درد کردن", "dard kardan"),
|
|
("to improve", "بهتر کردن", "behtar kardan"),
|
|
("to include", "شامل شدن", "shâmel shodan"),
|
|
("to invite", "دعوت کردن", "da'vat kardan"),
|
|
("to join", "پیوستن", "peyvastan"),
|
|
("to keep", "نگه داشتن", "negah dâshtan"),
|
|
("to kill", "کشتن", "koshtan"),
|
|
("to know", "دانستن", "dânestan"),
|
|
("to laugh", "خندیدن", "khandidan"),
|
|
("to learn", "یاد گرفتن", "yâd gereftan"),
|
|
("to leave", "ترک کردن", "tark kardan"),
|
|
("to let", "اجازه دادن", "ejâze dâdan"),
|
|
("to like", "دوست داشتن", "dust dâshtan"),
|
|
("to listen", "گوش دادن", "gush dâdan"),
|
|
("to live", "زندگی کردن", "zendegi kardan"),
|
|
("to look", "نگاه کردن", "negâh kardan"),
|
|
("to lose", "از دست دادن", "az dast dâdan"),
|
|
("to love", "عشق ورزیدن", "eshgh varzidan"),
|
|
("to make", "درست کردن", "dorost kardan"),
|
|
("to meet", "ملاقات کردن", "molâghât kardan"),
|
|
("to miss", "دلتنگ بودن", "deltang budan"),
|
|
("to move", "حرکت کردن", "harekat kardan"),
|
|
("to need", "نیاز داشتن", "niyâz dâshtan"),
|
|
("to open", "باز کردن", "bâz kardan"),
|
|
("to pay", "پرداخت کردن", "pardâkht kardan"),
|
|
("to play", "بازی کردن", "bâzi kardan"),
|
|
("to practise", "تمرین کردن", "tamrin kardan"),
|
|
("to prefer", "ترجیح دادن", "tarjih dâdan"),
|
|
("to prepare", "آماده کردن", "âmâde kardan"),
|
|
("to produce", "تولید کردن", "tolid kardan"),
|
|
("to promise", "قول دادن", "ghol dâdan"),
|
|
("to protect", "محافظت کردن", "mohâfezat kardan"),
|
|
("to pull", "کشیدن", "keshidan"),
|
|
("to push", "هل دادن", "hol dâdan"),
|
|
("to put", "گذاشتن", "gozâshtan"),
|
|
("to rain", "باران آمدن", "bârân âmadan"),
|
|
("to read", "خواندن", "khândan"),
|
|
("to receive", "دریافت کردن", "daryâft kardan"),
|
|
("to remember", "به یاد آوردن", "be yâd âvardan"),
|
|
("to repair", "تعمیر کردن", "ta'mir kardan"),
|
|
("to repeat", "تکرار کردن", "tekrâr kardan"),
|
|
("to rest", "استراحت کردن", "esterâhat kardan"),
|
|
("to return", "برگشتن", "bargashtan"),
|
|
("to run", "دویدن", "davidan"),
|
|
("to save", "نجات دادن", "nejât dâdan"),
|
|
("to say", "گفتن", "goftan"),
|
|
("to see", "دیدن", "didan"),
|
|
("to sell", "فروختن", "foroukhtan"),
|
|
("to send", "فرستادن", "ferestâdan"),
|
|
("to show", "نشان دادن", "neshân dâdan"),
|
|
("to sing", "آواز خواندن", "âvâz khândan"),
|
|
("to sit", "نشستن", "neshastan"),
|
|
("to sleep", "خوابیدن", "khâbidan"),
|
|
("to smell", "بو کردن", "bu kardan"),
|
|
("to speak", "صحبت کردن", "sohbat kardan"),
|
|
("to spend", "خرج کردن", "kharj kardan"),
|
|
("to stand", "ایستادن", "istâdan"),
|
|
("to start", "شروع کردن", "shoru' kardan"),
|
|
("to stay", "ماندن", "mândan"),
|
|
("to stop", "ایستادن", "istâdan"),
|
|
("to study", "درس خواندن", "dars khândan"),
|
|
("to succeed", "موفق شدن", "movaffagh shodan"),
|
|
("to swim", "شنا کردن", "shenâ kardan"),
|
|
("to take", "گرفتن", "gereftan"),
|
|
("to talk", "حرف زدن", "harf zadan"),
|
|
("to teach", "درس دادن", "dars dâdan"),
|
|
("to tell", "گفتن", "goftan"),
|
|
("to thank", "تشکر کردن", "tashakkor kardan"),
|
|
("to think", "فکر کردن", "fekr kardan"),
|
|
("to throw", "پرت کردن", "part kardan"),
|
|
("to touch", "لمس کردن", "lams kardan"),
|
|
("to travel", "سفر کردن", "safar kardan"),
|
|
("to try", "سعی کردن", "sa'y kardan"),
|
|
("to turn", "چرخیدن", "charkhidan"),
|
|
("to understand", "فهمیدن", "fahmidan"),
|
|
("to use", "استفاده کردن", "estefâde kardan"),
|
|
("to visit", "دیدن کردن", "didan kardan"),
|
|
("to wait", "صبر کردن", "sabr kardan"),
|
|
("to wake", "بیدار شدن", "bidâr shodan"),
|
|
("to walk", "راه رفتن", "râh raftan"),
|
|
("to want", "خواستن", "khâstan"),
|
|
("to wash", "شستن", "shostan"),
|
|
("to watch", "تماشا کردن", "tamâshâ kardan"),
|
|
("to wear", "پوشیدن", "pushidan"),
|
|
("to win", "برنده شدن", "barande shodan"),
|
|
("to work", "کار کردن", "kâr kardan"),
|
|
("to worry", "نگران بودن", "negarân budan"),
|
|
("to write", "نوشتن", "neveshtan"),
|
|
])
|
|
|
|
# ── Common adjectives ──
|
|
add(S1, "Common adjectives", [
|
|
("angry", "عصبانی", "asabâni"),
|
|
("bad", "بد", "bad"),
|
|
("beautiful", "زیبا", "zibâ"),
|
|
("big", "بزرگ", "bozorg"),
|
|
("boring", "خستهکننده", "khaste-konande"),
|
|
("brave", "شجاع", "shojâ'"),
|
|
("busy", "مشغول", "mashghul"),
|
|
("calm", "آرام", "ârâm"),
|
|
("cheap", "ارزان", "arzân"),
|
|
("clean", "تمیز", "tamiz"),
|
|
("clever", "باهوش", "bâhush"),
|
|
("close", "نزدیک", "nazdik"),
|
|
("cold", "سرد", "sard"),
|
|
("comfortable", "راحت", "râhat"),
|
|
("correct", "درست", "dorost"),
|
|
("dangerous", "خطرناک", "khatarnâk"),
|
|
("dark", "تاریک", "târik"),
|
|
("dear", "عزیز", "aziz"),
|
|
("deep", "عمیق", "amigh"),
|
|
("delicious", "خوشمزه", "khoshmaze"),
|
|
("difficult", "سخت", "sakht"),
|
|
("dirty", "کثیف", "kasif"),
|
|
("dry", "خشک", "khoshk"),
|
|
("easy", "آسان", "âsân"),
|
|
("empty", "خالی", "khâli"),
|
|
("excellent", "عالی", "âli"),
|
|
("exciting", "هیجانانگیز", "hayajân-angiz"),
|
|
("expensive", "گران", "gerân"),
|
|
("famous", "مشهور", "mashhur"),
|
|
("far", "دور", "dur"),
|
|
("fast", "سریع", "sari'"),
|
|
("fat", "چاق", "châgh"),
|
|
("favourite", "مورد علاقه", "mored-e alâghe"),
|
|
("foreign", "خارجی", "khâreji"),
|
|
("free", "آزاد", "âzâd"),
|
|
("friendly", "مهربان", "mehrabân"),
|
|
("full", "پر", "por"),
|
|
("funny", "خندهدار", "khande-dâr"),
|
|
("good", "خوب", "khub"),
|
|
("great", "عالی", "âli"),
|
|
("happy", "خوشحال", "khoshhâl"),
|
|
("hard", "سخت", "sakht"),
|
|
("healthy", "سالم", "sâlem"),
|
|
("heavy", "سنگین", "sangin"),
|
|
("high", "بلند", "boland"),
|
|
("honest", "صادق", "sâdegh"),
|
|
("horrible", "وحشتناک", "vahshatnâk"),
|
|
("hot", "داغ", "dâgh"),
|
|
("huge", "عظیم", "azim"),
|
|
("hungry", "گرسنه", "gorosne"),
|
|
("ill", "مریض", "mariz"),
|
|
("important", "مهم", "mohem"),
|
|
("impossible", "غیرممکن", "gheyr-e momken"),
|
|
("interesting", "جالب", "jâleb"),
|
|
("kind", "مهربان", "mehrabân"),
|
|
("large", "بزرگ", "bozorg"),
|
|
("last", "آخرین", "âkharin"),
|
|
("late", "دیر", "dir"),
|
|
("lazy", "تنبل", "tanbal"),
|
|
("light", "سبک", "sabok"),
|
|
("long", "بلند", "boland"),
|
|
("loud", "بلند", "boland"),
|
|
("low", "پایین", "pâyin"),
|
|
("lucky", "خوششانس", "khosh-shâns"),
|
|
("modern", "مدرن", "modern"),
|
|
("narrow", "باریک", "bârik"),
|
|
("natural", "طبیعی", "tabi'i"),
|
|
("near", "نزدیک", "nazdik"),
|
|
("necessary", "لازم", "lâzem"),
|
|
("new", "نو", "now"),
|
|
("nice", "خوب", "khub"),
|
|
("noisy", "پر سر و صدا", "por sar o sedâ"),
|
|
("normal", "عادی", "âdi"),
|
|
("old", "پیر", "pir"),
|
|
("open", "باز", "bâz"),
|
|
("painful", "دردناک", "dardnâk"),
|
|
("perfect", "عالی", "âli"),
|
|
("pleasant", "خوشایند", "khoshâyand"),
|
|
("polite", "مودب", "mo'addab"),
|
|
("poor", "فقیر", "faghir"),
|
|
("popular", "محبوب", "mahbub"),
|
|
("possible", "ممکن", "momken"),
|
|
("pretty", "قشنگ", "ghashang"),
|
|
("private", "خصوصی", "khosusi"),
|
|
("proud", "مفتخر", "moftakher"),
|
|
("quiet", "ساکت", "sâket"),
|
|
("quick", "سریع", "sari'"),
|
|
("ready", "آماده", "âmâde"),
|
|
("real", "واقعی", "vâghe'i"),
|
|
("rich", "پولدار", "puldâr"),
|
|
("right", "درست", "dorost"),
|
|
("rude", "بیادب", "bi-adab"),
|
|
("sad", "غمگین", "ghamgin"),
|
|
("safe", "امن", "amn"),
|
|
("serious", "جدی", "jeddi"),
|
|
("short", "کوتاه", "kutâh"),
|
|
("simple", "ساده", "sâde"),
|
|
("slow", "آهسته", "âheste"),
|
|
("small", "کوچک", "kuchak"),
|
|
("smart", "باهوش", "bâhush"),
|
|
("soft", "نرم", "narm"),
|
|
("special", "خاص", "khâss"),
|
|
("strange", "عجیب", "ajib"),
|
|
("strict", "سختگیر", "sakhtgir"),
|
|
("strong", "قوی", "ghavi"),
|
|
("stupid", "احمق", "ahmagh"),
|
|
("successful", "موفق", "movaffagh"),
|
|
("sure", "مطمئن", "motma'en"),
|
|
("surprised", "متعجب", "mota'ajjeb"),
|
|
("sweet", "شیرین", "shirin"),
|
|
("tall", "بلند قد", "boland-ghad"),
|
|
("terrible", "وحشتناک", "vahshatnâk"),
|
|
("thin", "لاغر", "lâghar"),
|
|
("thirsty", "تشنه", "teshne"),
|
|
("tired", "خسته", "khaste"),
|
|
("traditional", "سنتی", "sonnati"),
|
|
("true", "درست", "dorost"),
|
|
("ugly", "زشت", "zesht"),
|
|
("unfair", "ناعادلانه", "nâ-âdelâne"),
|
|
("unhappy", "ناراحت", "nârâhat"),
|
|
("useful", "مفید", "mofid"),
|
|
("usual", "معمولی", "ma'muli"),
|
|
("warm", "گرم", "garm"),
|
|
("weak", "ضعیف", "za'if"),
|
|
("well", "خوب", "khub"),
|
|
("whole", "کامل", "kâmel"),
|
|
("wide", "پهن", "pahn"),
|
|
("wild", "وحشی", "vahshi"),
|
|
("wonderful", "فوقالعاده", "fogh-ol-âde"),
|
|
("worried", "نگران", "negarân"),
|
|
("wrong", "اشتباه", "eshtebâh"),
|
|
("young", "جوان", "javân"),
|
|
])
|
|
|
|
# ── Common adverbs ──
|
|
add(S1, "Common adverbs", [
|
|
("a lot", "زیاد", "ziyâd"),
|
|
("again", "دوباره", "dobâre"),
|
|
("almost", "تقریبا", "taghribân"),
|
|
("already", "قبلا", "ghablan"),
|
|
("also", "همچنین", "hamchenin"),
|
|
("always", "همیشه", "hamishe"),
|
|
("badly", "بد", "bad"),
|
|
("carefully", "با دقت", "bâ deghat"),
|
|
("certainly", "حتما", "hatman"),
|
|
("clearly", "واضح", "vâzeh"),
|
|
("completely", "کاملا", "kâmelan"),
|
|
("early", "زود", "zud"),
|
|
("enough", "کافی", "kâfi"),
|
|
("especially", "مخصوصا", "makhsusan"),
|
|
("even", "حتی", "hattâ"),
|
|
("exactly", "دقیقا", "daghighan"),
|
|
("finally", "بالاخره", "belâkhare"),
|
|
("fortunately", "خوشبختانه", "khoshbakhtâne"),
|
|
("generally", "معمولا", "ma'mulan"),
|
|
("hardly", "به سختی", "be sakhti"),
|
|
("immediately", "فورا", "fowran"),
|
|
("just", "فقط", "faghat"),
|
|
("late", "دیر", "dir"),
|
|
("loudly", "بلند", "boland"),
|
|
("maybe", "شاید", "shâyad"),
|
|
("never", "هرگز", "hargez"),
|
|
("normally", "معمولا", "ma'mulan"),
|
|
("often", "اغلب", "aghlab"),
|
|
("only", "فقط", "faghat"),
|
|
("perhaps", "شاید", "shâyad"),
|
|
("please", "لطفا", "lotfan"),
|
|
("quickly", "سریع", "sari'"),
|
|
("quite", "نسبتا", "nesbatan"),
|
|
("rarely", "به ندرت", "be nodrat"),
|
|
("really", "واقعا", "vâghe'an"),
|
|
("recently", "اخیرا", "akhiran"),
|
|
("regularly", "مرتب", "morattab"),
|
|
("slowly", "آهسته", "âheste"),
|
|
("sometimes", "گاهی", "gâhi"),
|
|
("soon", "زود", "zud"),
|
|
("still", "هنوز", "hanuz"),
|
|
("suddenly", "ناگهان", "nâgahân"),
|
|
("then", "سپس", "sepas"),
|
|
("together", "با هم", "bâ ham"),
|
|
("too", "هم", "ham"),
|
|
("unfortunately", "متاسفانه", "mota'assefâne"),
|
|
("usually", "معمولا", "ma'mulan"),
|
|
("very", "خیلی", "kheyli"),
|
|
("well", "خوب", "khub"),
|
|
])
|
|
|
|
# ── Prepositions ──
|
|
add(S1, "Prepositions", [
|
|
("about", "درباره", "darbâre"),
|
|
("above", "بالای", "bâlâ-ye"),
|
|
("across", "آن طرف", "ân taraf"),
|
|
("after", "بعد از", "ba'd az"),
|
|
("against", "بر علیه", "bar aleyhe"),
|
|
("along", "در امتداد", "dar emtedâd"),
|
|
("among", "در میان", "dar miyân"),
|
|
("around", "اطراف", "atrâf"),
|
|
("at", "در", "dar"),
|
|
("before", "قبل از", "ghabl az"),
|
|
("behind", "پشت", "posht"),
|
|
("below", "زیر", "zir"),
|
|
("beside", "کنار", "kenâr"),
|
|
("between", "بین", "beyn"),
|
|
("by", "توسط", "tavasot"),
|
|
("down", "پایین", "pâyin"),
|
|
("during", "در طول", "dar tul"),
|
|
("except", "به جز", "be joz"),
|
|
("for", "برای", "barâye"),
|
|
("from", "از", "az"),
|
|
("in", "در", "dar"),
|
|
("inside", "داخل", "dâkhel"),
|
|
("into", "به داخل", "be dâkhel"),
|
|
("near", "نزدیک", "nazdik"),
|
|
("of", "از", "az"),
|
|
("on", "روی", "ru-ye"),
|
|
("opposite", "روبروی", "ruberu-ye"),
|
|
("out", "بیرون", "birun"),
|
|
("outside", "بیرون از", "birun az"),
|
|
("over", "بالای", "bâlâ-ye"),
|
|
("through", "از میان", "az miyân"),
|
|
("to", "به", "be"),
|
|
("towards", "به سوی", "be su-ye"),
|
|
("under", "زیر", "zir"),
|
|
("until", "تا", "tâ"),
|
|
("up", "بالا", "bâlâ"),
|
|
("with", "با", "bâ"),
|
|
("without", "بدون", "bedun"),
|
|
])
|
|
|
|
# ── Colours ──
|
|
add(S1, "Colours", [
|
|
("black", "سیاه", "siyâh"),
|
|
("blue", "آبی", "âbi"),
|
|
("brown", "قهوهای", "ghahve-i"),
|
|
("gold", "طلایی", "talâyi"),
|
|
("green", "سبز", "sabz"),
|
|
("grey", "خاکستری", "khâkestari"),
|
|
("orange", "نارنجی", "nârenji"),
|
|
("pink", "صورتی", "surati"),
|
|
("purple", "بنفش", "banafsh"),
|
|
("red", "قرمز", "ghermez"),
|
|
("silver", "نقرهای", "noghre-i"),
|
|
("white", "سفید", "sefid"),
|
|
("yellow", "زرد", "zard"),
|
|
])
|
|
|
|
# ── Numbers ──
|
|
add(S1, "Numbers", [
|
|
("zero", "صفر", "sefr"),
|
|
("one", "یک", "yek"),
|
|
("two", "دو", "do"),
|
|
("three", "سه", "se"),
|
|
("four", "چهار", "chahâr"),
|
|
("five", "پنج", "panj"),
|
|
("six", "شش", "shesh"),
|
|
("seven", "هفت", "haft"),
|
|
("eight", "هشت", "hasht"),
|
|
("nine", "نه", "noh"),
|
|
("ten", "ده", "dah"),
|
|
("eleven", "یازده", "yâzdah"),
|
|
("twelve", "دوازده", "davâzdah"),
|
|
("thirteen", "سیزده", "sizdah"),
|
|
("fourteen", "چهارده", "chahârdah"),
|
|
("fifteen", "پانزده", "pânzdah"),
|
|
("sixteen", "شانزده", "shânzdah"),
|
|
("seventeen", "هفده", "hefdah"),
|
|
("eighteen", "هجده", "hejdah"),
|
|
("nineteen", "نوزده", "nuzdah"),
|
|
("twenty", "بیست", "bist"),
|
|
("thirty", "سی", "si"),
|
|
("forty", "چهل", "chehel"),
|
|
("fifty", "پنجاه", "panjâh"),
|
|
("sixty", "شصت", "shast"),
|
|
("seventy", "هفتاد", "haftâd"),
|
|
("eighty", "هشتاد", "hashtâd"),
|
|
("ninety", "نود", "navad"),
|
|
("hundred", "صد", "sad"),
|
|
("thousand", "هزار", "hezâr"),
|
|
("million", "میلیون", "milyun"),
|
|
("first", "اول", "avval"),
|
|
("second", "دوم", "dovvom"),
|
|
("third", "سوم", "sevvom"),
|
|
("fourth", "چهارم", "chahârom"),
|
|
("fifth", "پنجم", "panjom"),
|
|
("last", "آخر", "âkhar"),
|
|
])
|
|
|
|
# ── Quantities ──
|
|
add(S1, "Quantities and measures", [
|
|
("all", "همه", "hame"),
|
|
("another", "یکی دیگر", "yeki digar"),
|
|
("both", "هر دو", "har do"),
|
|
("each", "هر", "har"),
|
|
("enough", "کافی", "kâfi"),
|
|
("every", "هر", "har"),
|
|
("few", "کم", "kam"),
|
|
("half", "نصف", "nesf"),
|
|
("less", "کمتر", "kamtar"),
|
|
("little", "کمی", "kami"),
|
|
("many", "زیاد", "ziyâd"),
|
|
("more", "بیشتر", "bishtar"),
|
|
("most", "بیشترین", "bishtarin"),
|
|
("much", "زیاد", "ziyâd"),
|
|
("none", "هیچکدام", "hich-kodâm"),
|
|
("other", "دیگر", "digar"),
|
|
("several", "چندین", "chandin"),
|
|
("some", "بعضی", "ba'zi"),
|
|
("pair", "جفت", "joft"),
|
|
("piece", "تکه", "tekke"),
|
|
("part", "بخش", "bakhsh"),
|
|
("kilo", "کیلو", "kilu"),
|
|
("litre", "لیتر", "litr"),
|
|
("metre", "متر", "metr"),
|
|
])
|
|
|
|
# ── Connecting words ──
|
|
add(S1, "Connecting words", [
|
|
("and", "و", "va"),
|
|
("or", "یا", "yâ"),
|
|
("but", "اما", "ammâ"),
|
|
("because", "چون", "chon"),
|
|
("so", "پس", "pas"),
|
|
("if", "اگر", "agar"),
|
|
("when", "وقتی", "vaghti"),
|
|
("while", "در حالی که", "dar hâli ke"),
|
|
("although", "اگرچه", "agarche"),
|
|
("however", "با این حال", "bâ in hâl"),
|
|
("therefore", "بنابراین", "banâbar-in"),
|
|
("also", "همچنین", "hamchenin"),
|
|
("then", "سپس", "sepas"),
|
|
("that", "که", "ke"),
|
|
("which", "که", "ke"),
|
|
("who", "که", "ke"),
|
|
("where", "جایی که", "jâyi ke"),
|
|
("before", "قبل از اینکه", "ghabl az inke"),
|
|
("after", "بعد از اینکه", "ba'd az inke"),
|
|
("until", "تا اینکه", "tâ inke"),
|
|
("since", "از وقتی که", "az vaghti ke"),
|
|
("as", "همانطور که", "hamântour ke"),
|
|
("unless", "مگر اینکه", "magar inke"),
|
|
("moreover", "علاوه بر این", "alâve bar in"),
|
|
("furthermore", "به علاوه", "be alâve"),
|
|
])
|
|
|
|
# ── Time expressions ──
|
|
add(S1, "Time expressions", [
|
|
("today", "امروز", "emruz"),
|
|
("tomorrow", "فردا", "fardâ"),
|
|
("yesterday", "دیروز", "diruz"),
|
|
("now", "الان", "al'ân"),
|
|
("then", "آن موقع", "ân moghe'"),
|
|
("always", "همیشه", "hamishe"),
|
|
("never", "هرگز", "hargez"),
|
|
("sometimes", "گاهی اوقات", "gâhi oghât"),
|
|
("often", "اغلب", "aghlab"),
|
|
("already", "قبلا", "ghablan"),
|
|
("soon", "به زودی", "be zudi"),
|
|
("still", "هنوز", "hanuz"),
|
|
("yet", "هنوز", "hanuz"),
|
|
("ago", "پیش", "pish"),
|
|
("later", "بعدا", "ba'dan"),
|
|
("early", "زود", "zud"),
|
|
("late", "دیر", "dir"),
|
|
("morning", "صبح", "sobh"),
|
|
("afternoon", "بعد از ظهر", "ba'd az zohr"),
|
|
("evening", "عصر", "asr"),
|
|
("night", "شب", "shab"),
|
|
("midnight", "نیمهشب", "nime-shab"),
|
|
("noon", "ظهر", "zohr"),
|
|
("during", "در طول", "dar tul"),
|
|
("since", "از", "az"),
|
|
])
|
|
|
|
# ── Days, months, seasons ──
|
|
add(S1, "Days and months", [
|
|
("Saturday", "شنبه", "shanbe"),
|
|
("Sunday", "یکشنبه", "yekshanbe"),
|
|
("Monday", "دوشنبه", "doshanbe"),
|
|
("Tuesday", "سهشنبه", "seshanbe"),
|
|
("Wednesday", "چهارشنبه", "chahârshanbe"),
|
|
("Thursday", "پنجشنبه", "panjshanbe"),
|
|
("Friday", "جمعه", "jom'e"),
|
|
("Farvardin", "فروردین", "farvardin"),
|
|
("Ordibehesht", "اردیبهشت", "ordibehesht"),
|
|
("Khordad", "خرداد", "khordâd"),
|
|
("Tir", "تیر", "tir"),
|
|
("Mordad", "مرداد", "mordâd"),
|
|
("Shahrivar", "شهریور", "shahrivar"),
|
|
("Mehr", "مهر", "mehr"),
|
|
("Aban", "آبان", "âbân"),
|
|
("Azar", "آذر", "âzar"),
|
|
("Dey", "دی", "dey"),
|
|
("Bahman", "بهمن", "bahman"),
|
|
("Esfand", "اسفند", "esfand"),
|
|
("spring", "بهار", "bahâr"),
|
|
("summer", "تابستان", "tâbestân"),
|
|
("autumn", "پاییز", "pâyiz"),
|
|
("winter", "زمستان", "zemestân"),
|
|
])
|
|
|
|
# ── Question words ──
|
|
add(S1, "Question words", [
|
|
("who", "کی", "ki"),
|
|
("what", "چی", "chi"),
|
|
("when", "کی", "key"),
|
|
("where", "کجا", "kojâ"),
|
|
("why", "چرا", "cherâ"),
|
|
("how", "چطور", "chetor"),
|
|
("which", "کدام", "kodâm"),
|
|
("how much", "چقدر", "cheghadr"),
|
|
("how many", "چند تا", "chand tâ"),
|
|
("whose", "مال کی", "mâl-e ki"),
|
|
("what kind of", "چه نوع", "che now'"),
|
|
("how long", "چه مدت", "che moddat"),
|
|
])
|
|
|
|
# ── Useful expressions ──
|
|
add(S1, "Useful expressions", [
|
|
("hello", "سلام", "salâm"),
|
|
("goodbye", "خداحافظ", "khodâhâfez"),
|
|
("please", "لطفا", "lotfan"),
|
|
("thank you", "ممنون", "mamnun"),
|
|
("you're welcome", "خواهش میکنم", "khâhesh mikonam"),
|
|
("excuse me", "ببخشید", "bebakhshid"),
|
|
("sorry", "متاسفم", "mota'assefam"),
|
|
("good morning", "صبح بخیر", "sobh bekheyr"),
|
|
("good evening", "عصر بخیر", "asr bekheyr"),
|
|
("good night", "شب بخیر", "shab bekheyr"),
|
|
("how are you", "حالت چطوره", "hâlet chetore"),
|
|
("I'm fine", "خوبم", "khubam"),
|
|
("yes", "بله", "bale"),
|
|
("no", "نه", "na"),
|
|
("of course", "البته", "albatte"),
|
|
("congratulations", "تبریک", "tabrik"),
|
|
("happy birthday", "تولدت مبارک", "tavalodet mobârak"),
|
|
("happy new year", "عید نوروز مبارک", "eyd-e nowruz mobârak"),
|
|
("welcome", "خوش آمدید", "khosh âmadid"),
|
|
("help", "کمک", "komak"),
|
|
("I don't understand", "نمیفهمم", "nemifahmam"),
|
|
("I don't know", "نمیدونم", "nemidounam"),
|
|
("slowly please", "آهسته لطفا", "âheste lotfan"),
|
|
("repeat please", "تکرار کنید لطفا", "tekrâr konid lotfan"),
|
|
("what does this mean", "این یعنی چی", "in ya'ni chi"),
|
|
("may I", "اجازه هست", "ejâze hast"),
|
|
("it doesn't matter", "مهم نیست", "mohem nist"),
|
|
("God willing", "انشاءالله", "inshâ'allâh"),
|
|
("bless you", "عافیت باشه", "âfiyat bâshe"),
|
|
])
|
|
|
|
# ── Countries ──
|
|
add(S1, "Countries", [
|
|
("Iran", "ایران", "irân"),
|
|
("Afghanistan", "افغانستان", "afghânestân"),
|
|
("Tajikistan", "تاجیکستان", "tâjikestân"),
|
|
("Turkey", "ترکیه", "torkiye"),
|
|
("Iraq", "عراق", "erâgh"),
|
|
("England", "انگلستان", "engelestân"),
|
|
("France", "فرانسه", "farânse"),
|
|
("Germany", "آلمان", "âlmân"),
|
|
("Spain", "اسپانیا", "espâniyâ"),
|
|
("Italy", "ایتالیا", "itâliyâ"),
|
|
("America", "آمریکا", "âmrikâ"),
|
|
("Canada", "کانادا", "kânâdâ"),
|
|
("Australia", "استرالیا", "ostrâliyâ"),
|
|
("China", "چین", "chin"),
|
|
("Japan", "ژاپن", "zhâpon"),
|
|
("India", "هند", "hend"),
|
|
("Russia", "روسیه", "rusiye"),
|
|
("Pakistan", "پاکستان", "pâkestân"),
|
|
("Saudi Arabia", "عربستان سعودی", "arabestân-e so'udi"),
|
|
("Egypt", "مصر", "mesr"),
|
|
("United Arab Emirates", "امارات متحده عربی", "emârât-e mottahed-e arabi"),
|
|
("Syria", "سوریه", "suriye"),
|
|
("Lebanon", "لبنان", "lobnân"),
|
|
("Morocco", "مراکش", "marâkesh"),
|
|
("Brazil", "برزیل", "berezil"),
|
|
])
|
|
|
|
# ── Nationalities ──
|
|
add(S1, "Nationalities", [
|
|
("Iranian", "ایرانی", "irâni"),
|
|
("Afghan", "افغان", "afghân"),
|
|
("English", "انگلیسی", "engelisi"),
|
|
("French", "فرانسوی", "farânsavi"),
|
|
("German", "آلمانی", "âlmâni"),
|
|
("American", "آمریکایی", "âmrikâyi"),
|
|
("Turkish", "ترک", "tork"),
|
|
("Arab", "عرب", "arab"),
|
|
("Indian", "هندی", "hendi"),
|
|
("Chinese", "چینی", "chini"),
|
|
("Japanese", "ژاپنی", "zhâponi"),
|
|
("Russian", "روسی", "rusi"),
|
|
("Italian", "ایتالیایی", "itâliyâyi"),
|
|
("Spanish", "اسپانیایی", "espâniyâyi"),
|
|
("Pakistani", "پاکستانی", "pâkestâni"),
|
|
("Australian", "استرالیایی", "ostrâliyâyi"),
|
|
("Canadian", "کانادایی", "kânâdâyi"),
|
|
("Iraqi", "عراقی", "erâghi"),
|
|
("Egyptian", "مصری", "mesri"),
|
|
("Brazilian", "برزیلی", "berezili"),
|
|
])
|
|
|
|
# ── Social conventions ──
|
|
add(S1, "Social conventions", [
|
|
("greeting someone", "سلام و احوالپرسی", "salâm va ahvâlporsi"),
|
|
("introducing yourself", "معرفی خود", "mo'arrefi-ye khod"),
|
|
("asking about health", "احوالپرسی", "ahvâlporsi"),
|
|
("thanking", "تشکر کردن", "tashakkor kardan"),
|
|
("apologizing", "عذرخواهی کردن", "ozrkhâhi kardan"),
|
|
("congratulating", "تبریک گفتن", "tabrik goftan"),
|
|
("expressing condolence", "تسلیت گفتن", "tasliyat goftan"),
|
|
("saying goodbye", "خداحافظی کردن", "khodâhâfezi kardan"),
|
|
("welcoming guests", "خوشامدگویی", "khosh-âmad-guyi"),
|
|
("offering food", "تعارف کردن غذا", "ta'ârof kardan-e ghazâ"),
|
|
("accepting an offer", "قبول کردن", "ghabul kardan"),
|
|
("declining an offer", "رد کردن", "rad kardan"),
|
|
("asking permission", "اجازه خواستن", "ejâze khâstan"),
|
|
("making a request", "درخواست کردن", "darkhâst kardan"),
|
|
("showing respect", "احترام گذاشتن", "ehterâm gozâshtan"),
|
|
])
|
|
|
|
# ── Theme 1: Identity and culture ──
|
|
add(S2, "Family members", [
|
|
("father", "پدر", "pedar"),
|
|
("mother", "مادر", "mâdar"),
|
|
("brother", "برادر", "barâdar"),
|
|
("sister", "خواهر", "khâhar"),
|
|
("son", "پسر", "pesar"),
|
|
("daughter", "دختر", "dokhtar"),
|
|
("grandfather", "پدربزرگ", "pedar-bozorg"),
|
|
("grandmother", "مادربزرگ", "mâdar-bozorg"),
|
|
("uncle", "عمو / دایی", "amu / dâyi"),
|
|
("aunt", "عمه / خاله", "amme / khâle"),
|
|
("cousin", "پسرعمو / دخترعمو", "pesar-amu / dokhtar-amu"),
|
|
("husband", "شوهر", "showhar"),
|
|
("wife", "زن / همسر", "zan / hamsar"),
|
|
("family", "خانواده", "khânevâde"),
|
|
("child", "بچه", "bachche"),
|
|
("baby", "نوزاد", "nowzâd"),
|
|
])
|
|
|
|
add(S2, "Physical descriptions", [
|
|
("hair", "مو", "mu"),
|
|
("eye", "چشم", "cheshm"),
|
|
("tall", "بلند قد", "boland-ghad"),
|
|
("short (height)", "کوتاه قد", "kutâh-ghad"),
|
|
("thin", "لاغر", "lâghar"),
|
|
("fat", "چاق", "châgh"),
|
|
("handsome", "خوشتیپ", "khosh-tip"),
|
|
("curly hair", "موی فرفری", "mu-ye ferferi"),
|
|
("straight hair", "موی صاف", "mu-ye sâf"),
|
|
("beard", "ریش", "rish"),
|
|
])
|
|
|
|
add(S2, "Personality", [
|
|
("kind", "مهربان", "mehrabân"),
|
|
("shy", "خجالتی", "khejâlati"),
|
|
("generous", "سخاوتمند", "sakhâvatmand"),
|
|
("patient", "صبور", "sabur"),
|
|
("cheerful", "شاد", "shâd"),
|
|
("hard-working", "زحمتکش", "zahmatkesh"),
|
|
("honest", "صادق", "sâdegh"),
|
|
("selfish", "خودخواه", "khod-khâh"),
|
|
("reliable", "قابل اعتماد", "ghâbel-e e'temâd"),
|
|
("stubborn", "لجباز", "lajbâz"),
|
|
])
|
|
|
|
add(S2, "Daily routine", [
|
|
("to wake up", "بیدار شدن", "bidâr shodan"),
|
|
("to get dressed", "لباس پوشیدن", "lebâs pushidan"),
|
|
("to have breakfast", "صبحانه خوردن", "sobhâne khordan"),
|
|
("to go to school", "به مدرسه رفتن", "be madrese raftan"),
|
|
("to have lunch", "ناهار خوردن", "nâhâr khordan"),
|
|
("to do homework", "تکلیف انجام دادن", "taklif anjâm dâdan"),
|
|
("to have dinner", "شام خوردن", "shâm khordan"),
|
|
("to brush teeth", "مسواک زدن", "mesvâk zadan"),
|
|
("to go to bed", "به رختخواب رفتن", "be rakhtekhâb raftan"),
|
|
("to take a shower", "دوش گرفتن", "dush gereftan"),
|
|
])
|
|
|
|
add(S2, "Food and drink", [
|
|
("bread", "نان", "nân"),
|
|
("rice", "برنج", "berenj"),
|
|
("meat", "گوشت", "gusht"),
|
|
("chicken", "مرغ", "morgh"),
|
|
("fish", "ماهی", "mâhi"),
|
|
("fruit", "میوه", "mive"),
|
|
("vegetable", "سبزیجات", "sabzijât"),
|
|
("water", "آب", "âb"),
|
|
("tea", "چای", "châi"),
|
|
("milk", "شیر", "shir"),
|
|
("cheese", "پنیر", "panir"),
|
|
("egg", "تخممرغ", "tokhm-e morgh"),
|
|
("sugar", "شکر", "shekar"),
|
|
("salt", "نمک", "namak"),
|
|
("kebab", "کباب", "kabâb"),
|
|
("yogurt", "ماست", "mâst"),
|
|
("soup", "سوپ", "sup"),
|
|
("salad", "سالاد", "sâlâd"),
|
|
("cake", "کیک", "keyk"),
|
|
("ice cream", "بستنی", "bastani"),
|
|
])
|
|
|
|
add(S2, "Celebrations", [
|
|
("Nowruz", "نوروز", "nowruz"),
|
|
("Haft-sin", "هفتسین", "haft-sin"),
|
|
("Chaharshanbe Suri", "چهارشنبهسوری", "chahârshanbe-suri"),
|
|
("Yalda night", "شب یلدا", "shab-e yaldâ"),
|
|
("Sizdah Bedar", "سیزدهبدر", "sizdah-bedar"),
|
|
("celebration", "جشن", "jashn"),
|
|
("gift", "هدیه", "hediye"),
|
|
("holiday", "تعطیلات", "ta'tilât"),
|
|
("tradition", "سنت", "sonnat"),
|
|
("fireworks", "آتشبازی", "âtash-bâzi"),
|
|
])
|
|
|
|
# ── Theme 2: Local area and environment ──
|
|
add(S2, "House and home", [
|
|
("house", "خانه", "khâne"),
|
|
("room", "اتاق", "otâgh"),
|
|
("kitchen", "آشپزخانه", "âshpaz-khâne"),
|
|
("bathroom", "حمام", "hammâm"),
|
|
("bedroom", "اتاق خواب", "otâgh-e khâb"),
|
|
("living room", "اتاق نشیمن", "otâgh-e neshiman"),
|
|
("garden", "باغ", "bâgh"),
|
|
("door", "در", "dar"),
|
|
("window", "پنجره", "panjere"),
|
|
("floor", "طبقه", "tabaghe"),
|
|
("wall", "دیوار", "divâr"),
|
|
("roof", "سقف", "saghf"),
|
|
("stairs", "پله", "pelle"),
|
|
("furniture", "مبل", "mobl"),
|
|
("table", "میز", "miz"),
|
|
("chair", "صندلی", "sandali"),
|
|
])
|
|
|
|
add(S2, "Places in town", [
|
|
("school", "مدرسه", "madrese"),
|
|
("hospital", "بیمارستان", "bimârestân"),
|
|
("mosque", "مسجد", "masjed"),
|
|
("park", "پارک", "pârk"),
|
|
("library", "کتابخانه", "ketâb-khâne"),
|
|
("shop", "مغازه", "maghâze"),
|
|
("market", "بازار", "bâzâr"),
|
|
("bank", "بانک", "bânk"),
|
|
("restaurant", "رستوران", "restorân"),
|
|
("pharmacy", "داروخانه", "dâru-khâne"),
|
|
("post office", "اداره پست", "edâre-ye post"),
|
|
("cinema", "سینما", "sinamâ"),
|
|
("museum", "موزه", "muze"),
|
|
("street", "خیابان", "khiyâbân"),
|
|
("square", "میدان", "meydân"),
|
|
])
|
|
|
|
add(S2, "Shopping", [
|
|
("to buy", "خریدن", "kharidan"),
|
|
("to sell", "فروختن", "foroukhtan"),
|
|
("price", "قیمت", "gheymat"),
|
|
("money", "پول", "pul"),
|
|
("cash", "نقد", "naghd"),
|
|
("receipt", "رسید", "resid"),
|
|
("discount", "تخفیف", "takhfif"),
|
|
("size", "اندازه", "andâze"),
|
|
("colour", "رنگ", "rang"),
|
|
("bag", "کیف", "kif"),
|
|
("clothes", "لباس", "lebâs"),
|
|
("shoes", "کفش", "kafsh"),
|
|
])
|
|
|
|
add(S2, "Weather", [
|
|
("weather", "هوا", "havâ"),
|
|
("sun", "خورشید", "khorshid"),
|
|
("rain", "باران", "bârân"),
|
|
("snow", "برف", "barf"),
|
|
("wind", "باد", "bâd"),
|
|
("cloud", "ابر", "abr"),
|
|
("hot", "گرم", "garm"),
|
|
("cold", "سرد", "sard"),
|
|
("warm", "ملایم", "molâyem"),
|
|
("sunny", "آفتابی", "âftâbi"),
|
|
("cloudy", "ابری", "abri"),
|
|
("rainy", "بارانی", "bârâni"),
|
|
("temperature", "دما", "damâ"),
|
|
("season", "فصل", "fasl"),
|
|
])
|
|
|
|
add(S2, "Environment", [
|
|
("nature", "طبیعت", "tabi'at"),
|
|
("tree", "درخت", "derakht"),
|
|
("flower", "گل", "gol"),
|
|
("river", "رودخانه", "rudkhâne"),
|
|
("mountain", "کوه", "kuh"),
|
|
("sea", "دریا", "daryâ"),
|
|
("forest", "جنگل", "jangal"),
|
|
("desert", "بیابان", "biyâbân"),
|
|
("animal", "حیوان", "heyvân"),
|
|
("bird", "پرنده", "parande"),
|
|
("pollution", "آلودگی", "âludegi"),
|
|
("recycling", "بازیافت", "bâzyâft"),
|
|
("environment", "محیط زیست", "mohit-e zist"),
|
|
("earth", "زمین", "zamin"),
|
|
])
|
|
|
|
# ── Theme 3: School and work ──
|
|
add(S2, "School subjects", [
|
|
("mathematics", "ریاضی", "riyâzi"),
|
|
("science", "علوم", "olum"),
|
|
("history", "تاریخ", "târikh"),
|
|
("geography", "جغرافیا", "joghrâfiyâ"),
|
|
("English", "انگلیسی", "engelisi"),
|
|
("Persian", "فارسی", "fârsi"),
|
|
("art", "هنر", "honar"),
|
|
("music", "موسیقی", "musighi"),
|
|
("sport", "ورزش", "varzesh"),
|
|
("physics", "فیزیک", "fizik"),
|
|
("chemistry", "شیمی", "shimi"),
|
|
("biology", "زیستشناسی", "zist-shenâsi"),
|
|
("computer science", "علوم کامپیوتر", "olum-e kâmpyuter"),
|
|
("religion", "دین", "din"),
|
|
])
|
|
|
|
add(S2, "School life", [
|
|
("student", "دانشآموز", "dânesh-âmuz"),
|
|
("teacher", "معلم", "mo'allem"),
|
|
("classroom", "کلاس", "kelâs"),
|
|
("lesson", "درس", "dars"),
|
|
("homework", "تکلیف", "taklif"),
|
|
("exam", "امتحان", "emtehân"),
|
|
("grade", "نمره", "nomre"),
|
|
("book", "کتاب", "ketâb"),
|
|
("pen", "خودکار", "khodkâr"),
|
|
("notebook", "دفتر", "daftar"),
|
|
("uniform", "یونیفرم", "yuniform"),
|
|
("break time", "زنگ تفریح", "zang-e tafrih"),
|
|
("headteacher", "مدیر مدرسه", "modir-e madrese"),
|
|
("timetable", "برنامه", "barnâme"),
|
|
])
|
|
|
|
add(S2, "Jobs and careers", [
|
|
("doctor", "دکتر", "doktar"),
|
|
("engineer", "مهندس", "mohandes"),
|
|
("teacher", "معلم", "mo'allem"),
|
|
("nurse", "پرستار", "parastâr"),
|
|
("lawyer", "وکیل", "vakil"),
|
|
("driver", "راننده", "rânande"),
|
|
("chef", "آشپز", "âshpaz"),
|
|
("police officer", "پلیس", "polis"),
|
|
("firefighter", "آتشنشان", "âtash-neshân"),
|
|
("dentist", "دندانپزشک", "dandân-pezeshk"),
|
|
("journalist", "روزنامهنگار", "ruznâme-negâr"),
|
|
("businessman", "تاجر", "tâjer"),
|
|
("artist", "هنرمند", "honarmand"),
|
|
("farmer", "کشاورز", "keshâvarz"),
|
|
("salary", "حقوق", "hoghogh"),
|
|
])
|
|
|
|
add(S2, "Future plans", [
|
|
("university", "دانشگاه", "dâneshgâh"),
|
|
("to study", "تحصیل کردن", "tahsil kardan"),
|
|
("career", "شغل", "shoghl"),
|
|
("to work", "کار کردن", "kâr kardan"),
|
|
("dream", "رویا", "royâ"),
|
|
("goal", "هدف", "hadaf"),
|
|
("success", "موفقیت", "movaffaghiyat"),
|
|
("to earn", "درآمد داشتن", "darâmad dâshtan"),
|
|
("experience", "تجربه", "tajrobe"),
|
|
("opportunity", "فرصت", "forsat"),
|
|
])
|
|
|
|
# ── Theme 4: Travel and tourism ──
|
|
add(S2, "Transport", [
|
|
("car", "ماشین", "mâshin"),
|
|
("bus", "اتوبوس", "otobus"),
|
|
("train", "قطار", "ghatâr"),
|
|
("plane", "هواپیما", "havâpeymâ"),
|
|
("taxi", "تاکسی", "tâksi"),
|
|
("bicycle", "دوچرخه", "docharkhe"),
|
|
("motorcycle", "موتور", "motor"),
|
|
("ship", "کشتی", "keshti"),
|
|
("metro", "مترو", "metro"),
|
|
("airport", "فرودگاه", "forudgâh"),
|
|
("station", "ایستگاه", "istgâh"),
|
|
("ticket", "بلیط", "belit"),
|
|
("passport", "گذرنامه", "gozarnâme"),
|
|
])
|
|
|
|
add(S2, "Directions", [
|
|
("right", "راست", "râst"),
|
|
("left", "چپ", "chap"),
|
|
("straight", "مستقیم", "mostaghim"),
|
|
("north", "شمال", "shomâl"),
|
|
("south", "جنوب", "jonub"),
|
|
("east", "شرق", "shargh"),
|
|
("west", "غرب", "gharb"),
|
|
("map", "نقشه", "naghshe"),
|
|
("turn", "بپیچید", "bepichid"),
|
|
("next to", "کنار", "kenâr"),
|
|
("in front of", "جلوی", "jelo-ye"),
|
|
("far from", "دور از", "dur az"),
|
|
])
|
|
|
|
add(S2, "Holiday activities", [
|
|
("to travel", "سفر کردن", "safar kardan"),
|
|
("to visit", "بازدید کردن", "bâzdid kardan"),
|
|
("to swim", "شنا کردن", "shenâ kardan"),
|
|
("to take photos", "عکس گرفتن", "aks gereftan"),
|
|
("to relax", "استراحت کردن", "esterâhat kardan"),
|
|
("sightseeing", "گردشگری", "gardeshgari"),
|
|
("souvenir", "سوغاتی", "soghâti"),
|
|
("beach", "ساحل", "sâhel"),
|
|
("tourist", "گردشگر", "gardeshgar"),
|
|
("luggage", "چمدان", "chamedân"),
|
|
])
|
|
|
|
add(S2, "Accommodation", [
|
|
("hotel", "هتل", "hotel"),
|
|
("room", "اتاق", "otâgh"),
|
|
("reservation", "رزرو", "rezerv"),
|
|
("key", "کلید", "kelid"),
|
|
("reception", "پذیرش", "paziresh"),
|
|
("single room", "اتاق یکنفره", "otâgh-e yek-nafare"),
|
|
("double room", "اتاق دونفره", "otâgh-e do-nafare"),
|
|
("breakfast included", "صبحانه شامل", "sobhâne shâmel"),
|
|
("check in", "ورود", "vorud"),
|
|
("check out", "خروج", "khoruj"),
|
|
])
|
|
|
|
add(S2, "At the restaurant", [
|
|
("menu", "منو", "menu"),
|
|
("waiter", "گارسون", "gârsun"),
|
|
("bill", "صورتحساب", "surathesâb"),
|
|
("starter", "پیشغذا", "pish-ghazâ"),
|
|
("main course", "غذای اصلی", "ghazâ-ye asli"),
|
|
("dessert", "دسر", "deser"),
|
|
("drink", "نوشیدنی", "nushidani"),
|
|
("to order", "سفارش دادن", "sefâresh dâdan"),
|
|
("delicious", "خوشمزه", "khoshmaze"),
|
|
("vegetarian", "گیاهخوار", "giyâh-khâr"),
|
|
("the bill please", "صورتحساب لطفا", "surathesâb lotfan"),
|
|
("tip", "انعام", "en'âm"),
|
|
])
|
|
|
|
# ── Theme 5: International and global ──
|
|
add(S2, "Health", [
|
|
("health", "سلامت", "salâmat"),
|
|
("illness", "بیماری", "bimâri"),
|
|
("headache", "سردرد", "sardard"),
|
|
("stomach ache", "دلدرد", "deldard"),
|
|
("fever", "تب", "tab"),
|
|
("cold (illness)", "سرماخوردگی", "sarmâ-khordegi"),
|
|
("medicine", "دارو", "dâru"),
|
|
("hospital", "بیمارستان", "bimârestân"),
|
|
("appointment", "وقت ملاقات", "vaght-e molâghât"),
|
|
("exercise", "ورزش", "varzesh"),
|
|
("healthy", "سالم", "sâlem"),
|
|
("pain", "درد", "dard"),
|
|
])
|
|
|
|
add(S2, "Global issues", [
|
|
("poverty", "فقر", "faghr"),
|
|
("war", "جنگ", "jang"),
|
|
("peace", "صلح", "solh"),
|
|
("equality", "برابری", "barâbari"),
|
|
("education", "آموزش", "âmuzesh"),
|
|
("climate change", "تغییرات آب و هوایی", "taghyirât-e âb va havâyi"),
|
|
("pollution", "آلودگی", "âludegi"),
|
|
("charity", "خیریه", "kheyriye"),
|
|
("rights", "حقوق", "hoghogh"),
|
|
("government", "دولت", "dolat"),
|
|
])
|
|
|
|
add(S2, "Technology", [
|
|
("computer", "کامپیوتر", "kâmpyuter"),
|
|
("phone", "تلفن", "telefon"),
|
|
("mobile phone", "موبایل", "mobâyl"),
|
|
("internet", "اینترنت", "internet"),
|
|
("website", "وبسایت", "vebsâyt"),
|
|
("email", "ایمیل", "imeyl"),
|
|
("screen", "صفحه نمایش", "safhe-ye namâyesh"),
|
|
("to download", "دانلود کردن", "dânlod kardan"),
|
|
("to search", "جستجو کردن", "jostoju kardan"),
|
|
("keyboard", "صفحه کلید", "safhe-ye kelid"),
|
|
("password", "رمز عبور", "ramz-e obur"),
|
|
("application", "برنامه", "barnâme"),
|
|
])
|
|
|
|
add(S2, "Social media", [
|
|
("social media", "شبکههای اجتماعی", "shabake-hâ-ye ejtemâ'i"),
|
|
("to share", "به اشتراک گذاشتن", "be eshterâk gozâshtan"),
|
|
("to follow", "دنبال کردن", "donbâl kardan"),
|
|
("to like", "لایک کردن", "lâyk kardan"),
|
|
("message", "پیام", "payâm"),
|
|
("photo", "عکس", "aks"),
|
|
("video", "ویدیو", "vidiyo"),
|
|
("online", "آنلاین", "ânlâyn"),
|
|
("profile", "پروفایل", "profâyl"),
|
|
("to post", "پست کردن", "post kardan"),
|
|
])
|
|
|
|
# ── Deduplicate IDs ──
|
|
seen_ids = set()
|
|
unique_vocab = []
|
|
for entry in vocab:
|
|
if entry["id"] in seen_ids:
|
|
entry["id"] = entry["id"] + "_2"
|
|
if entry["id"] in seen_ids:
|
|
entry["id"] = entry["id"] + "_3"
|
|
seen_ids.add(entry["id"])
|
|
unique_vocab.append(entry)
|
|
|
|
out = Path(__file__).parent.parent / "data" / "vocabulary.json"
|
|
out.parent.mkdir(parents=True, exist_ok=True)
|
|
with open(out, "w", encoding="utf-8") as f:
|
|
json.dump(unique_vocab, f, ensure_ascii=False, indent=2)
|
|
|
|
print(f"Generated {len(unique_vocab)} entries → {out}")
|
|
cats = {}
|
|
for e in unique_vocab:
|
|
cats[e["category"]] = cats.get(e["category"], 0) + 1
|
|
for c, n in sorted(cats.items()):
|
|
print(f" {c}: {n}")
|