/* ── LESSON PACK: CONDITIONALS + CONNECTORS ── Loads after learn-lessons.jsx — pushes into window.LESSONS_DATA Also defines window.LESSON_GROUPS and assigns groups to older lessons */ window.LESSON_GROUPS = [ { id:'tenses', emoji:'⏱️', en:'English Tenses', ar:'الأزمنة في الإنجليزية', tr:'İngilizce Zamanlar' }, { id:'conditionals', emoji:'🔀', en:'Conditionals — If Sentences', ar:'الجمل الشرطية — If', tr:'Koşul Cümleleri — If' }, { id:'connectors', emoji:'🔗', en:'Connectors & Linking Words', ar:'أدوات الربط', tr:'Bağlaçlar' }, { id:'prepositions', emoji:'📍', en:'Prepositions', ar:'حروف الجر', tr:'Edatlar' }, { id:'basics', emoji:'⚖️', en:'Grammar Essentials', ar:'أساسيات القواعد', tr:'Dil Bilgisi Temelleri' }, ]; /* assign groups to the original lessons */ (function assignGroups(){ const map = { 'comparisons':'basics', 'daily-routine':'tenses', 'present-continuous':'tenses', 'past-simple':'tenses', 'future':'tenses', 'prep-place':'prepositions', 'prep-time':'prepositions', }; (window.LESSONS_DATA||[]).forEach(l => { if (!l.group) l.group = map[l.id] || 'basics'; }); })(); window.LESSONS_DATA.push( /* ─── ZERO CONDITIONAL ─── */ { id:'zero-conditional', level:'A2', icon:'0️⃣', group:'conditionals', title:{ en:'Zero Conditional — Always True', ar:'الشرط الصفري — صحيح دائماً', tr:'Zero Conditional — Her Zaman Doğru' }, summary:{ en:'Facts and rules: if X happens, Y always happens. If you heat water, it boils.', ar:'حقائق وقواعد: إذا حدث X، يحدث Y دائماً. إذا سخّنت الماء، يغلي.', tr:'Gerçekler ve kurallar: X olursa Y her zaman olur.', }, sections:[ { type:'concept', title:{ en:'How it works', ar:'كيف يعمل' }, body:{ en:'**Form:** If + present simple, present simple.\n**Use for:** scientific facts, rules, things that are always true.\nYou can replace *if* with *when* and the meaning stays the same — that\u2019s the test for zero conditional.', ar:'**التركيب:** If + مضارع بسيط، مضارع بسيط.\n**الاستخدام:** حقائق علمية، قواعد، أشياء صحيحة دائماً.\nيمكن استبدال *if* بـ *when* دون تغيير المعنى — وهذا اختبار الشرط الصفري.', }}, { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[ { en:'If you heat water to 100°C, it boils.', ar:'إذا سخّنت الماء إلى 100 درجة، يغلي.', ctx:'Science' }, { en:'If the input is invalid, the system rejects it.', ar:'إذا كان الإدخال غير صالح، يرفضه النظام.', ctx:'Software' }, { en:'If you press this button, the machine stops.', ar:'إذا ضغطت هذا الزر، تتوقف الآلة.', ctx:'Safety' }, { en:'If I drink coffee at night, I don\u2019t sleep.', ar:'إذا شربت القهوة ليلاً، لا أنام.', ctx:'Habit' }, { en:'When the temperature drops, the material contracts.',ar:'عندما تنخفض الحرارة، ينكمش المعدن.', ctx:'Engineering' }, ]}, ], practice:[ { type:'mcq', q:'If you ___ ice, it melts.', options:['will heat','heat','heated','are heating'], a:1, explainEn:'Fact → present simple in both parts.', explainAr:'حقيقة → مضارع بسيط في الجزأين.' }, { type:'mcq', q:'If the pressure rises too high, the valve ___.', options:['opens','will opened','would open','opened'], a:0, explainEn:'Always true → present simple.', explainAr:'صحيح دائماً → مضارع بسيط.' }, { type:'fill', q:'If you ___ (mix) red and blue, you get purple.', a:'mix', explainEn:'Zero conditional: if + present, present.', explainAr:'شرط صفري: if + مضارع، مضارع.' }, { type:'fill', q:'The app ___ (crash) if you open too many tabs.', a:'crashes', explainEn:'Rule → present simple with -es.', explainAr:'قاعدة → مضارع بسيط مع -es.' }, ], }, /* ─── FIRST CONDITIONAL ─── */ { id:'first-conditional', level:'B1', icon:'1️⃣', group:'conditionals', title:{ en:'First Conditional — Real Future', ar:'الشرط الأول — مستقبل حقيقي', tr:'First Conditional — Gerçek Gelecek' }, summary:{ en:'Real possibilities in the future: if X happens, Y will happen. If it rains, we will cancel.', ar:'احتمالات حقيقية في المستقبل: إذا حدث X، سيحدث Y. إذا أمطرت، سنلغي.', tr:'Gelecekteki gerçek olasılıklar: X olursa Y olacak.', }, sections:[ { type:'concept', title:{ en:'How it works', ar:'كيف يعمل' }, body:{ en:'**Form:** If + present simple, **will** + base verb.\n**Use for:** real, possible future situations — plans, warnings, promises, negotiations.\n⚠️ Never put *will* in the if-part: ❌ *If it will rain…* → ✅ *If it rains…*', ar:'**التركيب:** If + مضارع بسيط، **will** + الفعل الأساسي.\n**الاستخدام:** مواقف مستقبلية حقيقية وممكنة — خطط، تحذيرات، وعود، مفاوضات.\n⚠️ لا نضع *will* أبداً في جملة الشرط: ❌ *If it will rain…* → ✅ *If it rains…*', }}, { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[ { en:'If we finish early, we will deploy today.', ar:'إذا انتهينا مبكراً، سننشر اليوم.', ctx:'Planning' }, { en:'If you don\u2019t back up your data, you will lose it.', ar:'إذا لم تنسخ بياناتك احتياطياً، ستفقدها.', ctx:'Warning' }, { en:'If the client agrees, we\u2019ll sign the contract Monday.', ar:'إذا وافق العميل، سنوقع العقد الاثنين.', ctx:'Business' }, { en:'I\u2019ll call you if anything changes.', ar:'سأتصل بك إذا تغيّر أي شيء.', ctx:'Promise' }, { en:'If the test fails, we won\u2019t release the update.', ar:'إذا فشل الاختبار، لن نصدر التحديث.', ctx:'QA rule' }, { en:'Unless we hurry, we will miss the deadline.', ar:'ما لم نُسرع، سنفوّت الموعد النهائي.', ctx:'unless = if not' }, ]}, { type:'note', title:{ en:'Variations', ar:'صيغ أخرى' }, body:{ en:'Instead of *will* you can use: **can, may, might, should**, or an imperative.\n• *If you see the error again, **restart** the router.*\n• *If we win this client, we **might** hire two more engineers.*', ar:'بدلاً من *will* يمكن استخدام: **can, may, might, should** أو صيغة الأمر.\n• *If you see the error again, **restart** the router.*', }}, ], practice:[ { type:'mcq', q:'If it ___ tomorrow, we will move the demo online.', options:['will rain','rains','rained','is rain'], a:1, explainEn:'No "will" in the if-part.', explainAr:'لا نضع will في جملة الشرط.' }, { type:'mcq', q:'If you study every day, you ___ fluent.', options:['become','became','will become','would become'], a:2, explainEn:'Result part → will + base verb.', explainAr:'جملة النتيجة → will + الفعل.' }, { type:'mcq', q:'___ we get funding, we won\u2019t start the project.', options:['If','Unless','When','Because'], a:1, explainEn:'Unless = if … not.', explainAr:'Unless = إذا لم.' }, { type:'fill', q:'If the boss ___ (approve) it, we will start Monday.', a:'approves', explainEn:'If-part → present simple.', explainAr:'جملة الشرط → مضارع بسيط.' }, { type:'fill', q:'You ___ (not / pass) the exam if you don\u2019t practice.', a:'will not pass', explainEn:'Result → will not (won\u2019t).', explainAr:'النتيجة → will not.' }, ], }, /* ─── SECOND CONDITIONAL ─── */ { id:'second-conditional', level:'B1', icon:'2️⃣', group:'conditionals', title:{ en:'Second Conditional — Imaginary Present', ar:'الشرط الثاني — حاضر خيالي', tr:'Second Conditional — Hayali Şimdi' }, summary:{ en:'Unreal or unlikely situations now: if I had more time, I would learn German.', ar:'مواقف غير حقيقية أو مستبعدة الآن: لو كان لدي وقت أكثر، لتعلمت الألمانية.', tr:'Şu an gerçek dışı durumlar: daha çok vaktim olsaydı Almanca öğrenirdim.', }, sections:[ { type:'concept', title:{ en:'How it works', ar:'كيف يعمل' }, body:{ en:'**Form:** If + past simple, **would** + base verb.\n**Use for:** imaginary, unreal, or very unlikely situations NOW or in the future.\n• *If I won the lottery, I would quit my job.* (I probably won\u2019t win)\n• *If I were you, I would take the offer.* (advice — I\u2019m not you)\n📌 With *be*, use **were** for all persons: *If I were, if she were…*', ar:'**التركيب:** If + ماضٍ بسيط، **would** + الفعل الأساسي.\n**الاستخدام:** مواقف خيالية أو غير حقيقية أو مستبعدة الآن أو مستقبلاً.\n• *If I won the lottery, I would quit my job.* (على الأرجح لن أفوز)\n• *If I were you, I would take the offer.* (نصيحة)\n📌 مع فعل *be* نستخدم **were** مع الجميع: *If I were, if she were…*', }}, { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[ { en:'If I had more budget, I would hire another engineer.', ar:'لو كانت لدي ميزانية أكبر، لوظفت مهندساً آخر.', ctx:'Wish' }, { en:'If the office were closer, I would walk to work.', ar:'لو كان المكتب أقرب، لذهبت مشياً.', ctx:'Unreal now' }, { en:'What would you do if the server went down at 3 a.m.?', ar:'ماذا ستفعل لو تعطل الخادم في الثالثة فجراً؟', ctx:'Interview' }, { en:'If I were the manager, I would change this process.', ar:'لو كنت المدير، لغيّرت هذه العملية.', ctx:'Opinion' }, { en:'I wouldn\u2019t worry if I were you.', ar:'لما قلقت لو كنت مكانك.', ctx:'Advice' }, ]}, { type:'note', title:{ en:'First vs Second', ar:'الأول مقابل الثاني' }, body:{ en:'• *If I **have** time, I **will** help you.* → real possibility (first)\n• *If I **had** time, I **would** help you.* → but I don\u2019t have time (second)\nThe past tense here does NOT mean past time — it means "not real".', ar:'• *If I **have** time, I **will** help you.* → احتمال حقيقي (الأول)\n• *If I **had** time, I **would** help you.* → لكن لا وقت لدي (الثاني)\nصيغة الماضي هنا لا تعني زمناً ماضياً — بل تعني "غير حقيقي".', }}, ], practice:[ { type:'mcq', q:'If I ___ you, I would accept the job.', options:['am','was','were','be'], a:2, explainEn:'Second conditional with be → were.', explainAr:'الشرط الثاني مع be → were.' }, { type:'mcq', q:'If we had a bigger team, we ___ faster.', options:['will ship','would ship','ship','shipped'], a:1, explainEn:'Unreal → would + base verb.', explainAr:'غير حقيقي → would + الفعل.' }, { type:'mcq', q:'What ___ you do if you lost all your code?', options:['will','do','would','did'], a:2, explainEn:'Imaginary question → would.', explainAr:'سؤال خيالي → would.' }, { type:'fill', q:'If I ___ (speak) perfect English, I would apply to Google.', a:'spoke', explainEn:'If-part → past simple.', explainAr:'جملة الشرط → ماضٍ بسيط.' }, { type:'fill', q:'She ___ (travel) more if she had time.', a:'would travel', explainEn:'Result → would + base.', explainAr:'النتيجة → would + الفعل.' }, ], }, /* ─── THIRD CONDITIONAL ─── */ { id:'third-conditional', level:'B2', icon:'3️⃣', group:'conditionals', title:{ en:'Third Conditional — Imaginary Past', ar:'الشرط الثالث — ماضٍ خيالي', tr:'Third Conditional — Hayali Geçmiş' }, summary:{ en:'Regrets and past what-ifs: if we had tested it, it would not have crashed.', ar:'الندم وافتراضات الماضي: لو كنا اختبرناه، لما تعطل.', tr:'Pişmanlıklar ve geçmiş varsayımlar: test etseydik çökmezdi.', }, sections:[ { type:'concept', title:{ en:'How it works', ar:'كيف يعمل' }, body:{ en:'**Form:** If + past perfect (had + participle), **would have** + participle.\n**Use for:** imagining a different PAST — the situation is finished and cannot change. Perfect for regrets and post-mortems.\n• *If we had tested more, the bug would not have reached production.*', ar:'**التركيب:** If + ماضٍ تام (had + التصريف الثالث)، **would have** + التصريف الثالث.\n**الاستخدام:** تخيّل ماضٍ مختلف — الموقف انتهى ولا يمكن تغييره. مثالي للندم وتحليل ما بعد الحوادث.\n• *If we had tested more, the bug would not have reached production.*', }}, { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[ { en:'If I had studied English earlier, I would have gotten that job.', ar:'لو درست الإنجليزية مبكراً، لحصلت على تلك الوظيفة.', ctx:'Regret' }, { en:'If we had backed up the data, we wouldn\u2019t have lost it.', ar:'لو نسخنا البيانات احتياطياً، لما فقدناها.', ctx:'Post-mortem' }, { en:'She would have joined the call if you had invited her.', ar:'لكانت انضمت للمكالمة لو دعوتها.', ctx:'Missed event' }, { en:'If the sensor had been calibrated, the reading would have been correct.', ar:'لو كان المستشعر معايراً، لكانت القراءة صحيحة.', ctx:'Engineering' }, { en:'We wouldn\u2019t have missed the deadline if we had started earlier.', ar:'لما فوّتنا الموعد لو بدأنا مبكراً.', ctx:'Lesson learned' }, ]}, { type:'note', title:{ en:'Quick recognition', ar:'تمييز سريع' }, body:{ en:'Hear **"had + done… would have + done"** → talking about an unchangeable past.\nShort forms in speech: *If I\u2019d known, I would\u2019ve told you.*', ar:'إذا سمعت **"had + done… would have + done"** → حديث عن ماضٍ لا يمكن تغييره.\nمختصرات في الكلام: *If I\u2019d known, I would\u2019ve told you.*', }}, ], practice:[ { type:'mcq', q:'If you ___ me, I would have helped you.', options:['asked','had asked','have asked','ask'], a:1, explainEn:'If-part → past perfect.', explainAr:'جملة الشرط → ماضٍ تام.' }, { type:'mcq', q:'We ___ the contract if the price had been lower.', options:['would sign','would have signed','signed','will sign'], a:1, explainEn:'Result → would have + participle.', explainAr:'النتيجة → would have + التصريف الثالث.' }, { type:'fill', q:'If I ___ (know) about the meeting, I would have come.', a:'had known', explainEn:'If + past perfect.', explainAr:'If + ماضٍ تام.' }, { type:'fill', q:'The demo ___ (not / fail) if we had rehearsed it.', a:'would not have failed', explainEn:'would not have + participle.', explainAr:'would not have + التصريف الثالث.' }, ], }, /* ─── CONDITIONALS COMPARED ─── */ { id:'conditionals-compare', level:'B2', icon:'🧭', group:'conditionals', title:{ en:'All Conditionals — Side by Side', ar:'كل الجمل الشرطية — جنباً إلى جنب', tr:'Tüm Koşullar — Yan Yana' }, summary:{ en:'Zero, first, second, third — one map to choose the right one every time.', ar:'الصفري والأول والثاني والثالث — خريطة واحدة لاختيار الصحيح كل مرة.', tr:'Zero, first, second, third — her seferinde doğrusunu seçmek için tek harita.', }, sections:[ { type:'table', title:{ en:'The map', ar:'الخريطة' }, headers:['Type','If-part','Result','Meaning'], rows:[ ['Zero','present simple','present simple','always true (fact/rule)'], ['First','present simple','will + verb','real future possibility'], ['Second','past simple','would + verb','unreal now / unlikely'], ['Third','had + participle','would have + participle','unreal past / regret'], ]}, { type:'examples', title:{ en:'One situation, four meanings', ar:'موقف واحد، أربعة معانٍ' }, items:[ { en:'If you test the code, you catch bugs. → general truth.', ar:'إذا اختبرت الكود، تكتشف الأخطاء. → حقيقة عامة.', ctx:'Zero' }, { en:'If you test the code, you will catch this bug. → likely, do it!', ar:'إذا اختبرت الكود، ستكتشف هذا الخطأ. → محتمل، افعلها!', ctx:'First' }, { en:'If you tested the code, you would catch the bug. → but you don\u2019t test.', ar:'لو كنت تختبر الكود، لاكتشفت الخطأ. → لكنك لا تختبر.', ctx:'Second' }, { en:'If you had tested the code, you would have caught the bug. → too late now.', ar:'لو كنت اختبرت الكود، لاكتشفت الخطأ. → فات الأوان.', ctx:'Third' }, ]}, { type:'note', title:{ en:'How to choose in 2 seconds', ar:'كيف تختار في ثانيتين' }, body:{ en:'Ask: **Is it real?** and **When?**\n• Real + always → Zero\n• Real + future → First\n• Not real + now → Second\n• Not real + past → Third', ar:'اسأل: **هل هو حقيقي؟** و **متى؟**\n• حقيقي + دائماً → صفري\n• حقيقي + مستقبل → أول\n• غير حقيقي + الآن → ثانٍ\n• غير حقيقي + ماضٍ → ثالث', }}, ], practice:[ { type:'mcq', q:'If metal gets hot, it ___. (fact)', options:['expands','will expand','would expand','expanded'], a:0, explainEn:'Fact → zero conditional.', explainAr:'حقيقة → شرط صفري.' }, { type:'mcq', q:'If we win the tender next month, we ___ the team. (real plan)', options:['expand','would expand','will expand','had expanded'], a:2, explainEn:'Real future → first conditional.', explainAr:'مستقبل حقيقي → الشرط الأول.' }, { type:'mcq', q:'If I ___ a robot, I would never sleep. (imaginary)', options:['am','were','had been','will be'], a:1, explainEn:'Unreal now → second conditional (were).', explainAr:'غير حقيقي الآن → الشرط الثاني.' }, { type:'mcq', q:'If they had told us earlier, we ___ the flight.', options:['would catch','will catch','would have caught','caught'], a:2, explainEn:'Unreal past → third conditional.', explainAr:'ماضٍ غير حقيقي → الشرط الثالث.' }, { type:'fill', q:'If I ___ (be) you, I would say yes. (advice)', a:'were', explainEn:'Second conditional advice → were.', explainAr:'نصيحة بالشرط الثاني → were.' }, ], }, /* ─── CONNECTORS: BASICS ─── */ { id:'connectors-basic', level:'A2', icon:'🔗', group:'connectors', title:{ en:'Basic Connectors — and, but, or, so, because', ar:'أدوات الربط الأساسية — and, but, or, so, because', tr:'Temel Bağlaçlar — and, but, or, so, because' }, summary:{ en:'The five little words that join 90% of your sentences.', ar:'الكلمات الخمس الصغيرة التي تربط 90% من جملك.', tr:'Cümlelerinizin %90\u2019ını birleştiren beş küçük kelime.', }, sections:[ { type:'table', title:{ en:'The big five', ar:'الخمسة الكبار' }, headers:['Word','Job','Example'], rows:[ ['and','adds information','The design is simple and cheap.'], ['but','shows contrast','It works, but it is slow.'], ['or','gives a choice','We can refactor or rewrite it.'], ['so','shows a result','The test failed, so we stopped the release.'], ['because','gives a reason','We stopped because the test failed.'], ]}, { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[ { en:'I checked the logs and found the problem.', ar:'فحصت السجلات ووجدت المشكلة.', ctx:'and' }, { en:'The idea is good, but we don\u2019t have the budget.', ar:'الفكرة جيدة، لكن لا نملك الميزانية.', ctx:'but' }, { en:'Should we meet online or in the office?', ar:'هل نجتمع عبر الإنترنت أم في المكتب؟', ctx:'or' }, { en:'The client was happy, so we celebrated.', ar:'كان العميل سعيداً، لذلك احتفلنا.', ctx:'so' }, { en:'I was late because the traffic was terrible.', ar:'تأخرت لأن الازدحام كان فظيعاً.', ctx:'because' }, ]}, { type:'note', title:{ en:'so vs because', ar:'الفرق بين so و because' }, body:{ en:'They describe the same relationship from opposite sides:\n• *It rained, **so** we stayed home.* (reason → result)\n• *We stayed home **because** it rained.* (result → reason)', ar:'يصفان العلاقة نفسها من جهتين متقابلتين:\n• *It rained, **so** we stayed home.* (سبب → نتيجة)\n• *We stayed home **because** it rained.* (نتيجة → سبب)', }}, ], practice:[ { type:'mcq', q:'The code compiles, ___ it still has warnings.', options:['and','but','or','because'], a:1, explainEn:'Contrast → but.', explainAr:'تناقض → but.' }, { type:'mcq', q:'I missed the bus, ___ I took a taxi.', options:['because','or','so','but'], a:2, explainEn:'Result → so.', explainAr:'نتيجة → so.' }, { type:'mcq', q:'We postponed the launch ___ the tests failed.', options:['so','because','but','and'], a:1, explainEn:'Reason → because.', explainAr:'سبب → because.' }, { type:'fill', q:'You can email me ___ call me — both are fine.', a:'or', explainEn:'Choice → or.', explainAr:'اختيار → or.' }, { type:'fill', q:'The design is light ___ strong.', a:'and', explainEn:'Adding → and.', explainAr:'إضافة → and.' }, ], }, /* ─── CONNECTORS: CONTRAST ─── */ { id:'connectors-contrast', level:'B1', icon:'⚡', group:'connectors', title:{ en:'Contrast Connectors — however, although, despite', ar:'أدوات التناقض — however, although, despite', tr:'Zıtlık Bağlaçları — however, although, despite' }, summary:{ en:'Sound professional when two facts point in opposite directions.', ar:'تحدث باحترافية عندما تشير حقيقتان إلى اتجاهين متعاكسين.', tr:'İki gerçek zıt yönleri gösterdiğinde profesyonel konuşun.', }, sections:[ { type:'concept', title:{ en:'Three patterns', ar:'ثلاثة أنماط' }, body:{ en:'**however** — starts a NEW sentence, followed by a comma:\n *The results were good. However, we need more data.*\n**although / even though** — joins two clauses in one sentence:\n *Although the results were good, we need more data.*\n**despite / in spite of** — followed by a NOUN or -ing (not a clause!):\n *Despite the good results, we need more data.*', ar:'**however** — تبدأ جملة جديدة وتليها فاصلة:\n *The results were good. However, we need more data.*\n**although / even though** — تربط جملتين في جملة واحدة:\n *Although the results were good, we need more data.*\n**despite / in spite of** — يليها اسم أو -ing (وليس جملة!):\n *Despite the good results, we need more data.*', }}, { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[ { en:'The prototype works. However, it is too expensive to produce.', ar:'النموذج يعمل. لكنه مكلف جداً للإنتاج.', ctx:'Report' }, { en:'Although he is junior, his code quality is excellent.', ar:'رغم أنه مبتدئ، جودة كوده ممتازة.', ctx:'Review' }, { en:'Despite the delay, the client renewed the contract.', ar:'رغم التأخير، جدّد العميل العقد.', ctx:'Business' }, { en:'Even though we tested twice, one bug escaped.', ar:'مع أننا اختبرنا مرتين، تسلل خطأ واحد.', ctx:'Post-mortem' }, { en:'In spite of working all weekend, we missed the deadline.', ar:'رغم العمل طوال عطلة الأسبوع، فوّتنا الموعد.', ctx:'despite + -ing' }, { en:'Whereas Team A uses Python, Team B prefers Go.', ar:'بينما يستخدم الفريق A بايثون، يفضل الفريق B لغة Go.', ctx:'whereas' }, ]}, { type:'note', title:{ en:'The classic mistake', ar:'الخطأ الكلاسيكي' }, body:{ en:'❌ *Despite it was raining…* → despite + clause is wrong.\n✅ *Despite the rain…* / ✅ *Although it was raining…*', ar:'❌ *Despite it was raining…* → despite لا تتبعها جملة.\n✅ *Despite the rain…* / ✅ *Although it was raining…*', }}, ], practice:[ { type:'mcq', q:'___ the high cost, we chose the premium sensor.', options:['Although','However','Despite','But'], a:2, explainEn:'Followed by a noun → despite.', explainAr:'يليها اسم → despite.' }, { type:'mcq', q:'___ the app is free, it has premium features.', options:['Despite','Although','However','In spite of'], a:1, explainEn:'Followed by a clause → although.', explainAr:'تليها جملة → although.' }, { type:'mcq', q:'Sales grew fast. ___, profit stayed flat.', options:['Although','Despite','However','Because'], a:2, explainEn:'New sentence + comma → However.', explainAr:'جملة جديدة + فاصلة → However.' }, { type:'fill', q:'___ working hard, he failed the certification. (in spite of / despite)', a:'despite', explainEn:'despite + -ing.', explainAr:'despite + -ing.' }, { type:'fill', q:'Even ___ the demo crashed, the client was impressed.', a:'though', explainEn:'even though + clause.', explainAr:'even though + جملة.' }, ], }, /* ─── CONNECTORS: CAUSE & RESULT ─── */ { id:'connectors-cause', level:'B1', icon:'🎯', group:'connectors', title:{ en:'Cause & Result — because, since, therefore', ar:'السبب والنتيجة — because, since, therefore', tr:'Sebep ve Sonuç — because, since, therefore' }, summary:{ en:'Explain WHY things happen and WHAT follows — essential for reports and meetings.', ar:'اشرح لماذا تحدث الأشياء وما الذي يترتب عليها — أساسي للتقارير والاجتماعات.', tr:'Şeylerin NEDEN olduğunu ve NE sonuç doğurduğunu açıklayın.', }, sections:[ { type:'table', title:{ en:'Cause vs result words', ar:'كلمات السبب مقابل النتيجة' }, headers:['Word','Type','Example'], rows:[ ['because + clause','reason','We stopped because the pump failed.'], ['since / as + clause','reason (known)','Since everyone is here, let\u2019s start.'], ['because of / due to + noun','reason','The delay was due to bad weather.'], ['so','result (informal)','It failed, so we rolled back.'], ['therefore','result (formal)','Costs rose; therefore, we revised the budget.'], ['as a result','result (formal)','As a result, the project was delayed.'], ]}, { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[ { en:'Since we already agreed on the design, let\u2019s move to timeline.', ar:'بما أننا اتفقنا على التصميم، لننتقل إلى الجدول الزمني.', ctx:'Meeting' }, { en:'The launch was postponed due to a security issue.', ar:'أُجّل الإطلاق بسبب مشكلة أمنية.', ctx:'Announcement' }, { en:'The material is cheap; therefore, it is popular in mass production.', ar:'المادة رخيصة؛ لذلك فهي شائعة في الإنتاج الكمّي.', ctx:'Report' }, { en:'The API changed. As a result, three services broke.', ar:'تغيّرت الواجهة البرمجية. ونتيجة لذلك تعطلت ثلاث خدمات.', ctx:'Incident' }, { en:'Because of the traffic, I joined the call from my phone.', ar:'بسبب الازدحام، انضممت للمكالمة من هاتفي.', ctx:'Excuse' }, ]}, { type:'note', title:{ en:'clause or noun?', ar:'جملة أم اسم؟' }, body:{ en:'**because** + subject + verb: *because the pump failed*\n**because of / due to** + noun: *because of the failure*\nSame meaning — different grammar after the connector.', ar:'**because** + فاعل + فعل: *because the pump failed*\n**because of / due to** + اسم: *because of the failure*\nالمعنى واحد — القواعد بعد الأداة مختلفة.', }}, ], practice:[ { type:'mcq', q:'The flight was cancelled ___ the storm.', options:['because','due to','since','therefore'], a:1, explainEn:'Followed by a noun → due to.', explainAr:'يليها اسم → due to.' }, { type:'mcq', q:'We lost the logs ___ the disk was full.', options:['because','because of','due to','as a result'], a:0, explainEn:'Followed by a clause → because.', explainAr:'تليها جملة → because.' }, { type:'mcq', q:'Demand doubled; ___, we increased production.', options:['because','although','therefore','despite'], a:2, explainEn:'Formal result → therefore.', explainAr:'نتيجة رسمية → therefore.' }, { type:'fill', q:'___ you already know the system, you can train the others. (since/as)', a:'since', explainEn:'Known reason → since.', explainAr:'سبب معروف → since.' }, { type:'fill', q:'The server overheated. As a ___, it shut down.', a:'result', explainEn:'as a result = introduces the consequence.', explainAr:'as a result = نتيجة لذلك.' }, ], }, /* ─── CONNECTORS: ADDING & SEQUENCING ─── */ { id:'connectors-sequence', level:'B1', icon:'➕', group:'connectors', title:{ en:'Adding & Ordering — moreover, first, finally', ar:'الإضافة والترتيب — moreover, first, finally', tr:'Ekleme ve Sıralama — moreover, first, finally' }, summary:{ en:'Add points like a pro and walk people through steps in a clear order.', ar:'أضف النقاط باحترافية وقُد الآخرين عبر الخطوات بترتيب واضح.', tr:'Profesyonelce madde ekleyin ve adımları net bir sırayla anlatın.', }, sections:[ { type:'table', title:{ en:'Adding information', ar:'إضافة معلومات' }, headers:['Word','Register','Example'], rows:[ ['also','neutral','The tool is fast. It is also free.'], ['in addition','formal','In addition, it supports Arabic.'], ['moreover / furthermore','very formal','Moreover, the license is open source.'], ['as well as + noun','neutral','We need testers as well as developers.'], ['besides','informal','Besides, we already paid for it.'], ]}, { type:'table', title:{ en:'Ordering steps', ar:'ترتيب الخطوات' }, headers:['Stage','Words'], rows:[ ['Start','first, first of all, to begin with'], ['Middle','then, next, after that, secondly'], ['Extra','meanwhile, at the same time'], ['End','finally, lastly, in the end'], ['Summary','in conclusion, to sum up, overall'], ]}, { type:'examples', title:{ en:'A process, connected', ar:'عملية مترابطة' }, items:[ { en:'First, we collect the requirements.', ar:'أولاً، نجمع المتطلبات.', ctx:'Step 1' }, { en:'Then we build a small prototype.', ar:'ثم نبني نموذجاً أولياً صغيراً.', ctx:'Step 2' }, { en:'Next, we test it with real users.', ar:'بعدها نختبره مع مستخدمين حقيقيين.', ctx:'Step 3' }, { en:'Meanwhile, the design team prepares the final UI.', ar:'في هذه الأثناء، يجهز فريق التصميم الواجهة النهائية.', ctx:'Parallel' }, { en:'Finally, we launch and monitor the metrics.', ar:'أخيراً، نُطلق ونراقب المؤشرات.', ctx:'Step 4' }, { en:'To sum up, small steps reduce risk.', ar:'خلاصة القول، الخطوات الصغيرة تقلل المخاطر.', ctx:'Summary' }, ]}, { type:'note', title:{ en:'Presentation gold', ar:'ذهب العروض التقديمية' }, body:{ en:'These words are the skeleton of every good presentation and email. Learn ONE from each row and use it every day:\n*First… In addition… However… Therefore… Finally…*', ar:'هذه الكلمات هي هيكل كل عرض تقديمي وبريد جيد. احفظ واحدة من كل صف واستخدمها يومياً:\n*First… In addition… However… Therefore… Finally…*', }}, ], practice:[ { type:'mcq', q:'The phone is cheap. ___, the camera is excellent.', options:['Moreover','But','Because','Despite'], a:0, explainEn:'Adding a positive point → moreover.', explainAr:'إضافة نقطة → moreover.' }, { type:'mcq', q:'___, mix the solution. Then heat it to 60°C.', options:['Finally','First','Meanwhile','Therefore'], a:1, explainEn:'Step 1 → First.', explainAr:'الخطوة الأولى → First.' }, { type:'mcq', q:'We need designers ___ engineers for this project.', options:['as well','also','as well as','in addition'], a:2, explainEn:'as well as + noun.', explainAr:'as well as + اسم.' }, { type:'fill', q:'___ , after six months of work, we launched the product. (at the end)', a:'finally', explainEn:'Last step → finally.', explainAr:'الخطوة الأخيرة → finally.' }, { type:'fill', q:'To sum ___, the second option is cheaper and safer.', a:'up', explainEn:'to sum up = introduces a short summary.', explainAr:'to sum up = للتلخيص.' }, ], }, );