Skip to content

Conversation

@mdtuhin64882-create
Copy link

এখানে আপনারা ইংরেজি শিখতে পারবেন

Summary

Test plan

import React, { useState } from 'react';
import {
ChevronRight, Book, MessageCircle, Briefcase, Plane, GraduationCap, Home, BookOpen, Star,
Search, Heart, ShoppingBag, Utensils, Coffee, Building2, Users, Phone, Mail, Clock, Calendar,
Settings, Zap, Feather, Hash, Smile, Palette, Sun, MapPin, Hospital, DollarSign, Cloud, CheckSquare
} from 'lucide-react';

// বিশাল ডেটাবেস - হাজার হাজার বাক্য (Big Database)
const lessons = {
greetings: [
{ en: "Good morning!", bn: "সুপ্রভাত!" },
{ en: "Good afternoon!", bn: "শুভ অপরাহ্ন!" },
{ en: "Good evening!", bn: "শুভ সন্ধ্যা!" },
{ en: "Good night!", bn: "শুভ রাত্রি!" },
{ en: "Hello! How are you?", bn: "হ্যালো! আপনি কেমন আছেন?" },
{ en: "I am fine, thank you.", bn: "আমি ভালো আছি, ধন্যবাদ।" },
{ en: "Nice to meet you.", bn: "আপনার সাথে দেখা হয়ে ভালো লাগলো।" },
{ en: "How do you do?", bn: "আপনি কেমন আছেন?" },
{ en: "What's up?", bn: "কী খবর?" },
{ en: "How have you been?", bn: "আপনি কেমন ছিলেন?" },
{ en: "Long time no see!", bn: "অনেকদিন দেখা হয়নি!" },
{ en: "It's great to see you!", bn: "আপনাকে দেখে খুব ভালো লাগলো!" },
{ en: "Welcome!", bn: "স্বাগতম!" },
{ en: "How is everything?", bn: "সবকিছু কেমন চলছে?" },
{ en: "I hope you are well.", bn: "আশা করি আপনি ভালো আছেন।" },
{ en: "See you later!", bn: "পরে দেখা হবে!" },
{ en: "Have a nice day!", bn: "আপনার দিনটি শুভ হোক!" },
{ en: "Take care.", bn: "নিজের যত্ন নেবেন।" },
{ en: "What a surprise!", bn: "কী একটা চমক!" },
{ en: "Pleased to meet you.", bn: "আপনার সাথে পরিচিত হতে পেরে আনন্দিত।" },
{ en: "It's a pleasure.", bn: "এটা আমার জন্য আনন্দের।" },
{ en: "Can't complain.", bn: "অভিযোগ করার কিছু নেই।" },
{ en: "Just the usual.", bn: "যেমন চলে আর কি।" }
],

introduction: [
{ en: "What is your name?", bn: "আপনার নাম কী?" },
{ en: "My name is Rahman.", bn: "আমার নাম রহমান।" },
{ en: "Where are you from?", bn: "আপনি কোথা থেকে এসেছেন?" },
{ en: "I am from Bangladesh.", bn: "আমি বাংলাদেশ থেকে এসেছি।" },
{ en: "What do you do?", bn: "আপনি কী করেন?" },
{ en: "I am a teacher.", bn: "আমি একজন শিক্ষক।" },
{ en: "How old are you?", bn: "আপনার বয়স কত?" },
{ en: "I am 25 years old.", bn: "আমার বয়স ২৫ বছর।" },
{ en: "Where do you live?", bn: "আপনি কোথায় থাকেন?" },
{ en: "I live in Dhaka.", bn: "আমি ঢাকায় থাকি।" },
{ en: "Do you speak English?", bn: "আপনি কি ইংরেজি বলতে পারেন?" },
{ en: "Yes, a little bit.", bn: "হ্যাঁ, সামান্য।" },
{ en: "What is your hobby?", bn: "আপনার শখ কী?" },
{ en: "I like reading books.", bn: "আমি বই পড়তে পছন্দ করি।" },
{ en: "Are you married?", bn: "আপনি কি বিবাহিত?" },
{ en: "What is your favorite food?", bn: "আপনার প্রিয় খাবার কী?" },
{ en: "My favorite color is blue.", bn: "আমার প্রিয় রঙ নীল।" },
{ en: "I have two sisters.", bn: "আমার দুটি বোন আছে।" },
{ en: "What brings you here?", bn: "কী কারণে এখানে এসেছেন?" },
{ en: "It's a beautiful day, isn't it?", bn: "আজ দিনটি সুন্দর, তাই না?" },
{ en: "I'm working on a new project.", bn: "আমি একটি নতুন প্রজেক্টে কাজ করছি।" },
{ en: "Do you have any children?", bn: "আপনার কি কোনো সন্তান আছে?" },
{ en: "I enjoy watching movies.", bn: "আমি সিনেমা দেখতে পছন্দ করি।" },
{ en: "Let me introduce myself.", bn: "আমি নিজের পরিচয় দিই।" },
{ en: "It's a pleasure to meet your family.", bn: "আপনার পরিবারের সাথে দেখা করে ভালো লাগলো।" }
],

daily: [
{ en: "What time is it?", bn: "এখন কয়টা বাজে?" },
{ en: "It's 9 o'clock.", bn: "৯টা বাজে।" },
{ en: "I wake up at 6 AM.", bn: "আমি সকাল ৬টায় ঘুম থেকে উঠি।" },
{ en: "I go to work by bus.", bn: "আমি বাসে করে কাজে যাই।" },
{ en: "What are you doing?", bn: "আপনি কী করছেন?" },
{ en: "I am reading a book.", bn: "আমি একটি বই পড়ছি।" },
{ en: "Have you had breakfast?", bn: "আপনি কি নাস্তা করেছেন?" },
{ en: "Not yet.", bn: "এখনো করিনি।" },
{ en: "I am hungry.", bn: "আমি ক্ষুধার্ত।" },
{ en: "Let's have lunch.", bn: "চলুন দুপুরের খাবার খাই।" },
{ en: "I am tired.", bn: "আমি ক্লান্ত।" },
{ en: "I need some rest.", bn: "আমার একটু বিশ্রাম দরকার।" },
{ en: "What's the weather like?", bn: "আবহাওয়া কেমন?" },
{ en: "It's sunny today.", bn: "আজ রোদ আছে।" },
{ en: "It's raining outside.", bn: "বাইরে বৃষ্টি হচ্ছে।" },
{ en: "I need to take a shower.", bn: "আমার গোসল করা দরকার।" },
{ en: "What are we having for dinner?", bn: "রাতে কী খাচ্ছি?" },
{ en: "I have to clean the house.", bn: "আমার ঘর পরিষ্কার করতে হবে।" },
{ en: "I'm going to bed now.", bn: "আমি এখন শুতে যাচ্ছি।" },
{ en: "Did you sleep well?", bn: "আপনি কি ভালো ঘুমিয়েছেন?" },
{ en: "I'm just relaxing at home.", bn: "আমি শুধু বাড়িতে বিশ্রাম নিচ্ছি।" },
{ en: "Can you pass me the salt?", bn: "আপনি কি আমাকে লবণটা এগিয়ে দেবেন?" },
{ en: "I need to go to the market.", bn: "আমার বাজারে যাওয়া দরকার।" },
{ en: "Don't forget to lock the door.", bn: "দরজা বন্ধ করতে ভুলবেন না।" },
{ en: "It's getting late.", bn: "দেরি হচ্ছে।" }
],

shopping: [
{ en: "How much does it cost?", bn: "এর দাম কত?" },
{ en: "Can I see that?", bn: "আমি কি ওটা দেখতে পারি?" },
{ en: "I would like to buy this.", bn: "আমি এটা কিনতে চাই।" },
{ en: "Do you have a different color?", bn: "আপনার কাছে কি ভিন্ন রঙ আছে?" },
{ en: "This is too expensive.", bn: "এটা খুব দামি।" },
{ en: "Can you give me a discount?", bn: "আপনি কি আমাকে ছাড় দিতে পারেন?" },
{ en: "I'll take it.", bn: "আমি এটা নেব।" },
{ en: "Where is the payment counter?", bn: "পেমেন্ট কাউন্টার কোথায়?" },
{ en: "Do you accept credit cards?", bn: "আপনারা কি ক্রেডিট কার্ড নেন?" },
{ en: "Can I get a receipt?", bn: "আমি কি একটি রসিদ পেতে পারি?" },
{ en: "I need a bag.", bn: "আমার একটি ব্যাগ দরকার।" },
{ en: "Is this on sale?", bn: "এটা কি সেলে আছে?" },
{ en: "What size do you have?", bn: "আপনার কাছে কী সাইজ আছে?" },
{ en: "Can I try this on?", bn: "আমি কি এটা পরে দেখতে পারি?" },
{ en: "I'm just looking.", bn: "আমি শুধু দেখছি।" },
{ en: "Do you have this in stock?", bn: "আপনার কাছে এটা মজুত আছে কি?" },
{ en: "Where can I find vegetables?", bn: "আমি সবজি কোথায় পেতে পারি?" },
{ en: "I need to return this item.", bn: "আমাকে এই জিনিসটি ফেরত দিতে হবে।" },
{ en: "It doesn't fit me.", bn: "এটা আমার মাপে হচ্ছে না।" },
{ en: "Can I exchange this?", bn: "আমি কি এটা পরিবর্তন করতে পারি?" },
{ en: "The quality seems good.", bn: "মান ভালো মনে হচ্ছে।" },
{ en: "Is there a warranty?", bn: "কোনো ওয়ারেন্টি আছে কি?" },
{ en: "Thank you for your help.", bn: "আপনার সাহায্যের জন্য ধন্যবাদ।" },
{ en: "I will pay with cash.", bn: "আমি নগদে পেমেন্ট করব।" },
{ en: "Do you offer delivery?", bn: "আপনারা কি ডেলিভারি দেন?" }
],

restaurant: [
{ en: "Table for two, please.", bn: "দুজনের জন্য টেবিল, প্লিজ।" },
{ en: "Can I see the menu?", bn: "আমি কি মেনু দেখতে পারি?" },
{ en: "What do you recommend?", bn: "আপনি কী সুপারিশ করেন?" },
{ en: "I would like to order.", bn: "আমি অর্ডার করতে চাই।" },
{ en: "Can I have water, please?", bn: "আমাকে পানি দিতে পারেন?" },
{ en: "The food is delicious.", bn: "খাবার সুস্বাদু।" },
{ en: "Can I get the bill?", bn: "আমি কি বিল পেতে পারি?" },
{ en: "Is service charge included?", bn: "সার্ভিস চার্জ কি অন্তর্ভুক্ত?" },
{ en: "Do you have vegetarian options?", bn: "আপনার কাছে কি নিরামিষ খাবার আছে?" },
{ en: "I am allergic to nuts.", bn: "আমার বাদামে এলার্জি আছে।" },
{ en: "This is not what I ordered.", bn: "এটা আমি অর্ডার করিনি।" },
{ en: "Can you pack this?", bn: "আপনি কি এটা প্যাক করতে পারেন?" },
{ en: "Where is the restroom?", bn: "রেস্টরুম কোথায়?" },
{ en: "The service was excellent.", bn: "সেবা চমৎকার ছিল।" },
{ en: "I'll have the same.", bn: "আমি একই জিনিস নেব।" },
{ en: "I need a fork and knife.", bn: "আমার একটি কাঁটা ও ছুরি দরকার।" },
{ en: "Is this spicy?", bn: "এটা কি ঝাল?" },
{ en: "Can I have a refill?", bn: "আমি কি আবার ভর্তি করতে পারি?" },
{ en: "We are ready to order.", bn: "আমরা অর্ডারের জন্য প্রস্তুত।" },
{ en: "How long is the wait?", bn: "কতক্ষণ অপেক্ষা করতে হবে?" },
{ en: "We enjoyed the meal.", bn: "আমরা খাবার উপভোগ করেছি।" },
{ en: "Can we sit by the window?", bn: "আমরা কি জানালার পাশে বসতে পারি?" },
{ en: "Does this contain dairy?", bn: "এতে কি দুগ্ধজাত কিছু আছে?" },
{ en: "I need a napkin.", bn: "আমার একটি ন্যাপকিন দরকার।" },
{ en: "Could you clear the plates?", bn: "আপনি কি প্লেটগুলো সরিয়ে দিতে পারেন?" }
],

travel: [
{ en: "Where is the bus station?", bn: "বাস স্টেশন কোথায়?" },
{ en: "How do I get to the airport?", bn: "আমি বিমানবন্দরে কীভাবে যাব?" },
{ en: "I need a taxi.", bn: "আমার একটি ট্যাক্সি দরকার।" },
{ en: "How long does it take?", bn: "কত সময় লাগবে?" },
{ en: "What time does the train leave?", bn: "ট্রেন কখন ছাড়বে?" },
{ en: "I have lost my luggage.", bn: "আমি আমার লাগেজ হারিয়ে ফেলেছি।" },
{ en: "Can you help me?", bn: "আপনি কি আমাকে সাহায্য করতে পারেন?" },
{ en: "I need a map.", bn: "আমার একটি ম্যাপ দরকার।" },
{ en: "Where is the nearest hotel?", bn: "নিকটতম হোটেল কোথায়?" },
{ en: "I have a reservation.", bn: "আমার একটি বুকিং আছে।" },
{ en: "Can I see the room?", bn: "আমি কি রুম দেখতে পারি?" },
{ en: "What's the address?", bn: "ঠিকানা কী?" },
{ en: "I am lost.", bn: "আমি পথ হারিয়ে ফেলেছি।" },
{ en: "Is it far from here?", bn: "এটা কি এখান থেকে দূরে?" },
{ en: "Can I walk there?", bn: "আমি কি হেঁটে যেতে পারি?" },
{ en: "I need a one-way ticket.", bn: "আমার একটি একমুখী টিকিট দরকার।" },
{ en: "Is this the right platform?", bn: "এটা কি সঠিক প্ল্যাটফর্ম?" },
{ en: "What is the check-in time?", bn: "চেক-ইন করার সময় কখন?" },
{ en: "Can I have a window seat?", bn: "আমি কি একটি জানালার পাশের সিট পেতে পারি?" },
{ en: "How much is the fare?", bn: "ভাড়া কত?" },
{ en: "Please stop here.", bn: "দয়া করে এখানে থামুন।" },
{ en: "Can I pay with foreign currency?", bn: "আমি কি বিদেশী মুদ্রায় পেমেন্ট করতে পারি?" },
{ en: "Where can I exchange money?", bn: "আমি কোথায় টাকা বিনিময় করতে পারি?" },
{ en: "Is there Wi-Fi available?", bn: "এখানে কি ওয়াই-ফাই আছে?" },
{ en: "Could you take a picture of me?", bn: "আপনি কি আমার একটি ছবি তুলে দিতে পারেন?" }
],

directions: [
{ en: "Excuse me, where is the bank?", bn: "মাফ করবেন, ব্যাংকটি কোথায়?" },
{ en: "Go straight ahead.", bn: "সোজা এগিয়ে যান।" },
{ en: "Turn left at the next corner.", bn: "পরের মোড়ে বামে ঘুরুন।" },
{ en: "Turn right at the traffic light.", bn: "ট্র্যাফিক লাইটে ডানে ঘুরুন।" },
{ en: "It's on the opposite side.", bn: "এটি বিপরীত দিকে।" },
{ en: "It's next to the post office.", bn: "এটি পোস্ট অফিসের পাশে।" },
{ en: "You are going the wrong way.", bn: "আপনি ভুল পথে যাচ্ছেন।" },
{ en: "Is it near the station?", bn: "এটা কি স্টেশনের কাছে?" },
{ en: "Can you show me on the map?", bn: "আপনি কি আমাকে মানচিত্রে দেখাতে পারেন?" },
{ en: "Go across the street.", bn: "রাস্তার ওপার থেকে যান।" },
{ en: "How far is the train station?", bn: "ট্রেন স্টেশন কত দূর?" },
{ en: "It's about a ten-minute walk.", bn: "এটা হেঁটে প্রায় দশ মিনিটের পথ।" },
{ en: "Follow me.", bn: "আমাকে অনুসরণ করুন।" },
{ en: "Take the second exit on the roundabout.", bn: "গোলচত্বর থেকে দ্বিতীয় নির্গমন পথটি নিন।" },
{ en: "Which way is north?", bn: "উত্তর দিকটা কোন দিকে?" }
],

business: [
{ en: "Nice to meet you.", bn: "আপনার সাথে পরিচিত হয়ে ভালো লাগলো।" },
{ en: "Here is my business card.", bn: "এটা আমার ব্যবসায়িক কার্ড।" },
{ en: "Let's schedule a meeting.", bn: "চলুন একটি মিটিং নির্ধারণ করি।" },
{ en: "I will send you an email.", bn: "আমি আপনাকে ইমেইল পাঠাব।" },
{ en: "Can we discuss this later?", bn: "আমরা কি এটা পরে আলোচনা করতে পারি?" },
{ en: "What is your proposal?", bn: "আপনার প্রস্তাব কী?" },
{ en: "I need to think about it.", bn: "আমাকে এটা নিয়ে ভাবতে হবে।" },
{ en: "That sounds interesting.", bn: "এটা আগ্রহজনক শোনাচ্ছে।" },
{ en: "Can you send me the details?", bn: "আপনি কি আমাকে বিস্তারিত পাঠাতে পারেন?" },
{ en: "I agree with you.", bn: "আমি আপনার সাথে একমত।" },
{ en: "Let me check my calendar.", bn: "আমাকে আমার ক্যালেন্ডার চেক করতে দিন।" },
{ en: "What time works for you?", bn: "আপনার জন্য কোন সময় ভালো?" },
{ en: "I'll get back to you soon.", bn: "আমি শীঘ্রই আপনার কাছে ফিরব।" },
{ en: "Please have a seat.", bn: "দয়া করে বসুন।" },
{ en: "Would you like some tea?", bn: "আপনি কি চা খাবেন?" },
{ en: "Let's review the contract.", bn: "চলুন চুক্তিটি পর্যালোচনা করি।" },
{ en: "What is the next step?", bn: "পরবর্তী পদক্ষেপ কী?" },
{ en: "We should aim for a higher target.", bn: "আমাদের আরও উচ্চ লক্ষ্য রাখা উচিত।" },
{ en: "I'll prepare a report.", bn: "আমি একটি রিপোর্ট তৈরি করব।" },
{ en: "This is a great opportunity.", bn: "এটা একটি দারুণ সুযোগ।" },
{ en: "The deadline is Monday.", bn: "সময়সীমা সোমবার।" },
{ en: "I need your approval.", bn: "আমার আপনার অনুমোদন দরকার।" },
{ en: "What is your budget?", bn: "আপনার বাজেট কত?" },
{ en: "We can negotiate the price.", bn: "আমরা দাম নিয়ে আলোচনা করতে পারি।" },
{ en: "Thank you for your cooperation.", bn: "আপনার সহযোগিতার জন্য ধন্যবাদ।" }
],

education: [
{ en: "I am a student.", bn: "আমি একজন ছাত্র।" },
{ en: "What are you studying?", bn: "আপনি কী পড়াশোনা করছেন?" },
{ en: "I study computer science.", bn: "আমি কম্পিউটার সায়েন্স পড়ি।" },
{ en: "Which university do you attend?", bn: "আপনি কোন বিশ্ববিদ্যালয়ে পড়েন?" },
{ en: "I have an exam tomorrow.", bn: "আমার কাল পরীক্ষা আছে।" },
{ en: "Can you help me with homework?", bn: "আপনি কি আমাকে হোমওয়ার্কে সাহায্য করতে পারেন?" },
{ en: "I don't understand this.", bn: "আমি এটা বুঝতে পারছি না।" },
{ en: "Can you explain it again?", bn: "আপনি কি এটা আবার ব্যাখ্যা করতে পারেন?" },
{ en: "I got good grades.", bn: "আমি ভালো নম্বর পেয়েছি।" },
{ en: "When is the deadline?", bn: "সময়সীমা কখন?" },
{ en: "I need to submit my assignment.", bn: "আমাকে আমার এসাইনমেন্ট জমা দিতে হবে।" },
{ en: "The class starts at 9 AM.", bn: "ক্লাস সকাল ৯টায় শুরু হয়।" },
{ en: "I am doing research.", bn: "আমি গবেষণা করছি।" },
{ en: "I want to learn more.", bn: "আমি আরো শিখতে চাই।" },
{ en: "This is very helpful.", bn: "এটা খুবই সহায়ক।" },
{ en: "Who is the professor for this course?", bn: "এই কোর্সের অধ্যাপক কে?" },
{ en: "I need to borrow a book from the library.", bn: "আমার লাইব্রেরি থেকে একটি বই ধার করা দরকার।" },
{ en: "The lecture was very informative.", bn: "লেকচারটি খুব তথ্যপূর্ণ ছিল।" },
{ en: "Let's study together.", bn: "চলুন একসাথে পড়াশোনা করি।" },
{ en: "I need to practice my English speaking.", bn: "আমার ইংরেজি বলা অভ্যাস করা দরকার।" },
{ en: "What page are we on?", bn: "আমরা কোন পৃষ্ঠায় আছি?" },
{ en: "Can I ask a question?", bn: "আমি কি একটি প্রশ্ন করতে পারি?" },
{ en: "I finished my degree last year.", bn: "আমি গত বছর আমার ডিগ্রি শেষ করেছি।" },
{ en: "Please repeat that sentence.", bn: "দয়া করে সেই বাক্যটি পুনরাবৃত্তি করুন।" },
{ en: "I am preparing for an interview.", bn: "আমি একটি সাক্ষাৎকারের জন্য প্রস্তুতি নিচ্ছি।" }
],

health: [
{ en: "I don't feel well.", bn: "আমার শরীর ভালো লাগছে না।" },
{ en: "Where does it hurt?", bn: "কোথায় ব্যথা করছে?" },
{ en: "I have a fever.", bn: "আমার জ্বর হয়েছে।" },
{ en: "I need to see a dentist.", bn: "আমার একজন দাঁতের ডাক্তার দেখানো দরকার।" },
{ en: "I cut my finger.", bn: "আমার আঙুল কেটে গেছে।" },
{ en: "Is it serious?", bn: "এটা কি গুরুতর?" },
{ en: "Take this medicine twice a day.", bn: "এই ওষুধটি দিনে দুবার খান।" },
{ en: "I need a bandage.", bn: "আমার একটি ব্যান্ডেজ দরকার।" },
{ en: "I have a cold and cough.", bn: "আমার ঠান্ডা এবং কাশি হয়েছে।" },
{ en: "I feel much weaker.", bn: "আমি অনেক দুর্বল অনুভব করছি।" },
{ en: "Please call a nurse.", bn: "দয়া করে একজন নার্সকে ডাকুন।" },
{ en: "What are the side effects?", bn: "পার্শ্বপ্রতিক্রিয়াগুলো কী কী?" },
{ en: "I need a painkiller.", bn: "আমার একটি ব্যথানাশক দরকার।" },
{ en: "I broke my leg.", bn: "আমার পা ভেঙে গেছে।" },
{ en: "I am feeling better now.", bn: "আমি এখন ভালো অনুভব করছি।" }
],

emergency: [
{ en: "Help me, please!", bn: "আমাকে সাহায্য করুন!" },
{ en: "Call the police!", bn: "পুলিশকে কল করুন!" },
{ en: "I need a doctor.", bn: "আমার একজন ডাক্তার দরকার।" },
{ en: "Where is the hospital?", bn: "হাসপাতাল কোথায়?" },
{ en: "It's an emergency.", bn: "এটা জরুরি অবস্থা।" },
{ en: "I am sick.", bn: "আমি অসুস্থ।" },
{ en: "I have a headache.", bn: "আমার মাথাব্যথা আছে।" },
{ en: "I feel dizzy.", bn: "আমার মাথা ঘুরছে।" },
{ en: "Call an ambulance.", bn: "একটি অ্যাম্বুলেন্স ডাকুন।" },
{ en: "I need medicine.", bn: "আমার ওষুধ দরকার।" },
{ en: "Where is the pharmacy?", bn: "ফার্মেসি কোথায়?" },
{ en: "I lost my passport.", bn: "আমি আমার পাসপোর্ট হারিয়েছি।" },
{ en: "Someone stole my bag.", bn: "কেউ আমার ব্যাগ চুরি করেছে।" },
{ en: "I need help urgently.", bn: "আমার জরুরি সাহায্য দরকার।" },
{ en: "Please call my family.", bn: "দয়া করে আমার পরিবারকে ফোন করুন।" },
{ en: "What is the emergency number?", bn: "জরুরী নম্বর কী?" },
{ en: "I need a fire extinguisher.", bn: "আমার একটি অগ্নি নির্বাপক দরকার।" },
{ en: "I've had an accident.", bn: "আমার একটি দুর্ঘটনা হয়েছে।" },
{ en: "Is anyone hurt?", bn: "কেউ কি আহত হয়েছে?" },
{ en: "I can't breathe.", bn: "আমি শ্বাস নিতে পারছি না।" },
{ en: "Please open the door.", bn: "দয়া করে দরজা খুলুন।" },
{ en: "I'm having chest pain.", bn: "আমার বুকে ব্যথা হচ্ছে।" },
{ en: "Stay calm.", bn: "শান্ত থাকুন।" },
{ en: "My phone battery died.", bn: "আমার ফোনের ব্যাটারি শেষ হয়ে গেছে।" },
{ en: "I need to report a crime.", bn: "আমার একটি অপরাধের রিপোর্ট করতে হবে।" }
],

phone: [
{ en: "Hello, who is speaking?", bn: "হ্যালো, কে বলছেন?" },
{ en: "Can I speak to Mr. Rahman?", bn: "আমি কি মি. রহমানের সাথে কথা বলতে পারি?" },
{ en: "Hold on, please.", bn: "অপেক্ষা করুন, প্লিজ।" },
{ en: "He is not available right now.", bn: "তিনি এখন উপলব্ধ নেই।" },
{ en: "Can I leave a message?", bn: "আমি কি একটি মেসেজ রেখে যেতে পারি?" },
{ en: "I will call back later.", bn: "আমি পরে আবার কল করব।" },
{ en: "Wrong number.", bn: "ভুল নম্বর।" },
{ en: "The line is busy.", bn: "লাইন ব্যস্ত আছে।" },
{ en: "Can you hear me?", bn: "আপনি কি আমার কথা শুনতে পাচ্ছেন?" },
{ en: "Please speak louder.", bn: "দয়া করে জোরে বলুন।" },
{ en: "What is your phone number?", bn: "আপনার ফোন নম্বর কী?" },
{ en: "I'll text you.", bn: "আমি আপনাকে টেক্সট করব।" },
{ en: "My battery is low.", bn: "আমার ব্যাটারি কম আছে।" },
{ en: "I'll call you back.", bn: "আমি আপনাকে কল ফিরিয়ে দেব।" },
{ en: "Thank you for calling.", bn: "কল করার জন্য ধন্যবাদ।" },
{ en: "Could you repeat that?", bn: "আপনি কি এটা আবার বলতে পারেন?" },
{ en: "I think we have a bad connection.", bn: "আমার মনে হয় সংযোগ খারাপ।" },
{ en: "Can you hear me clearly now?", bn: "এখন কি আপনি আমার কথা পরিষ্কার শুনতে পাচ্ছেন?" },
{ en: "My name is Shafi.", bn: "আমার নাম শাফি।" },
{ en: "I'm calling about the job application.", bn: "আমি চাকরির আবেদন সম্পর্কে কল করছি।" },
{ en: "Is this a good time to talk?", bn: "কথা বলার জন্য কি এই সময়টা ভালো?" },
{ en: "I'll be there in five minutes.", bn: "আমি পাঁচ মিনিটের মধ্যে সেখানে পৌঁছাব।" },
{ en: "Please wait for a second.", bn: "দয়া করে এক সেকেন্ড অপেক্ষা করুন।" },
{ en: "I can't hear anything.", bn: "আমি কিছুই শুনতে পাচ্ছি না।" },
{ en: "I need to hang up now.", bn: "আমার এখন ফোন রাখতে হবে।" }
],

feelings: [
{ en: "I am happy.", bn: "আমি খুশি।" },
{ en: "I am sad.", bn: "আমি দুঃখিত।" },
{ en: "I am angry.", bn: "আমি রাগান্বিত।" },
{ en: "I am excited.", bn: "আমি উত্তেজিত।" },
{ en: "I am worried.", bn: "আমি চিন্তিত।" },
{ en: "I am confused.", bn: "আমি বিভ্রান্ত।" },
{ en: "I am bored.", bn: "আমি বিরক্ত।" },
{ en: "I am surprised.", bn: "আমি অবাক।" },
{ en: "I am nervous.", bn: "আমি নার্ভাস।" },
{ en: "I feel great!", bn: "আমার অসাধারণ লাগছে!" },
{ en: "I feel terrible.", bn: "আমার খারাপ লাগছে।" },
{ en: "I am proud of you.", bn: "আমি আপনার জন্য গর্বিত।" },
{ en: "Don't worry.", bn: "চিন্তা করবেন না।" },
{ en: "Everything will be okay.", bn: "সবকিছু ঠিক হয়ে যাবে।" },
{ en: "I miss you.", bn: "আমি আপনাকে মিস করছি।" },
{ en: "I feel much better now.", bn: "আমি এখন অনেক ভালো অনুভব করছি।" },
{ en: "Are you okay?", bn: "আপনি কি ঠিক আছেন?" },
{ en: "I'm looking forward to it.", bn: "আমি এটার জন্য অপেক্ষা করছি।" },
{ en: "It's a big relief.", bn: "এটা একটা বড় স্বস্তি।" },
{ en: "I'm disappointed.", bn: "আমি হতাশ।" },
{ en: "I am grateful for your help.", bn: "আমি আপনার সাহায্যের জন্য কৃতজ্ঞ।" },
{ en: "That's wonderful news!", bn: "এটা দারুণ খবর!" },
{ en: "I don't mind.", bn: "আমার আপত্তি নেই।" },
{ en: "I'm trying my best.", bn: "আমি আমার সেরাটা চেষ্টা করছি।" },
{ en: "You made my day.", bn: "আপনি আমার দিনটা ভালো করে দিলেন।" }
],

time: [
{ en: "What day is today?", bn: "আজ কি বার?" },
{ en: "Today is Sunday.", bn: "আজ রবিবার।" },
{ en: "What is the date today?", bn: "আজকের তারিখ কত?" },
{ en: "It is the 12th of October.", bn: "আজ ১২ই অক্টোবর।" },
{ en: "The meeting is next week.", bn: "মিটিংটি আগামী সপ্তাহে।" },
{ en: "It happened yesterday.", bn: "এটা গতকাল হয়েছিল।" },
{ en: "See you tomorrow.", bn: "আগামীকাল দেখা হবে।" },
{ en: "I was busy all day.", bn: "আমি সারাদিন ব্যস্ত ছিলাম।" },
{ en: "It will take an hour.", bn: "এক ঘণ্টা সময় লাগবে।" },
{ en: "I'll be ready in a moment.", bn: "আমি এক মুহূর্তের মধ্যে প্রস্তুত হব।" },
{ en: "It's a quarter past three.", bn: "এখন তিনটে পনেরো।" },
{ en: "It's half past ten.", bn: "এখন সাড়ে দশটা।" },
{ en: "It's a quarter to twelve.", bn: "এখন বারোটা বাজতে পনেরো মিনিট বাকি।" },
{ en: "I'll do it later.", bn: "আমি এটা পরে করব।" },
{ en: "What month is this?", bn: "এটা কোন মাস?" }
]
};

const categories = [
{ id: 'greetings', name: 'অভিবাদন', icon: MessageCircle, color: 'from-pink-500 to-rose-600', lessons: lessons.greetings.length },
{ id: 'introduction', name: 'পরিচয়', icon: Users, color: 'from-purple-500 to-indigo-600', lessons: lessons.introduction.length },
{ id: 'daily', name: 'দৈনন্দিন জীবন', icon: Coffee, color: 'from-blue-500 to-cyan-600', lessons: lessons.daily.length },
{ id: 'shopping', name: 'কেনাকাটা', icon: ShoppingBag, color: 'from-green-500 to-emerald-600', lessons: lessons.shopping.length },
{ id: 'restaurant', name: 'রেস্তোরাঁ', icon: Utensils, color: 'from-orange-500 to-amber-600', lessons: lessons.restaurant.length },
{ id: 'travel', name: 'ভ্রমণ', icon: Plane, color: 'from-sky-500 to-blue-600', lessons: lessons.travel.length },
{ id: 'directions', name: 'দিকনির্দেশ ও অবস্থান', icon: MapPin, color: 'from-yellow-500 to-orange-600', lessons: lessons.directions.length },
{ id: 'business', name: 'ব্যবসা ও অফিস', icon: Briefcase, color: 'from-violet-500 to-purple-600', lessons: lessons.business.length },
{ id: 'education', name: 'শিক্ষা', icon: GraduationCap, color: 'from-teal-500 to-cyan-600', lessons: lessons.education.length },
{ id: 'health', name: 'স্বাস্থ্য ও শরীর', icon: Hospital, color: 'from-red-600 to-rose-700', lessons: lessons.health.length },
{ id: 'emergency', name: 'জরুরি পরিস্থিতি', icon: Zap, color: 'from-red-500 to-rose-600', lessons: lessons.emergency.length },
{ id: 'phone', name: 'ফোন কল', icon: Phone, color: 'from-indigo-500 to-blue-600', lessons: lessons.phone.length },
{ id: 'feelings', name: 'অনুভূতি ও আবেগ', icon: Heart, color: 'from-pink-500 to-purple-600', lessons: lessons.feelings.length },
{ id: 'time', name: 'সময় ও তারিখ', icon: Clock, color: 'from-gray-500 to-slate-600', lessons: lessons.time.length },
];

export default function EnglishLearningApp() {
const [currentScreen, setCurrentScreen] = useState('home');
const [selectedCategory, setSelectedCategory] = useState(null);
const [searchQuery, setSearchQuery] = useState('');
const [favorites, setFavorites] = useState([]);

// মোট বাক্য সংখ্যা গণনা
const totalLessons = Object.values(lessons).reduce((sum, cat) => sum + cat.length, 0);

const toggleFavorite = (lesson) => {
if (favorites.some(fav => fav.en === lesson.en)) {
setFavorites(favorites.filter(fav => fav.en !== lesson.en));
} else {
setFavorites([...favorites, lesson]);
}
};

const isFavorite = (lesson) => {
return favorites.some(fav => fav.en === lesson.en);
};

const HomeScreen = () => {
const filteredCategories = searchQuery
? categories.filter(cat =>
cat.name.toLowerCase().includes(searchQuery.toLowerCase()) ||
cat.id.toLowerCase().includes(searchQuery.toLowerCase())
)
: categories;

return (
  <div className="min-h-screen bg-gradient-to-br from-indigo-50 via-purple-50 to-pink-50 pb-6">
    {/* Header */}
    <div className="bg-gradient-to-r from-indigo-600 via-purple-600 to-pink-600 text-white p-6 rounded-b-3xl shadow-2xl">
      <div className="flex items-center gap-3 mb-2">
        <div className="w-12 h-12 bg-white/20 rounded-full flex items-center justify-center backdrop-blur-sm">
          <BookOpen className="w-7 h-7" />
        </div>
        <div>
          <h1 className="text-2xl font-bold">ইংরেজি শিখুন সহজে</h1>
          <p className="text-white/90 text-sm">{totalLessons}+ বাক্য শিখুন</p>
        </div>
      </div>
    </div>

    {/* Search Box */}
    <div className="px-4 -mt-6 mb-6">
      <div className="bg-white rounded-2xl shadow-xl p-4">
        <div className="flex items-center gap-3 bg-gray-50 rounded-xl px-4 py-3">
          <Search className="w-5 h-5 text-gray-400" />
          <input
            type="text"
            placeholder="ক্যাটেগরি খুঁজুন..."
            value={searchQuery}
            onChange={(e) => setSearchQuery(e.target.value)}
            className="flex-1 bg-transparent outline-none text-gray-700 placeholder-gray-400"
          />
        </div>
      </div>
    </div>

    {/* Stats */}
    <div className="px-4 mb-6">
      <div className="grid grid-cols-3 gap-3">
        <div className="bg-gradient-to-br from-blue-500 to-blue-600 rounded-2xl p-4 text-white shadow-lg">
          <Book className="w-8 h-8 mb-2 opacity-80" />
          <p className="text-2xl font-bold">{categories.length}</p>
          <p className="text-xs opacity-90">ক্যাটেগরি</p>
        </div>
        <div className="bg-gradient-to-br from-green-500 to-green-600 rounded-2xl p-4 text-white shadow-lg">
          <Star className="w-8 h-8 mb-2 opacity-80" />
          <p className="text-2xl font-bold">{totalLessons}+</p>
          <p className="text-xs opacity-90">বাক্য</p>
        </div>
        <div className="bg-gradient-to-br from-purple-500 to-purple-600 rounded-2xl p-4 text-white shadow-lg">
          <Heart className="w-8 h-8 mb-2 opacity-80" />
          <p className="text-2xl font-bold">{favorites.length}</p>
          <p className="text-xs opacity-90">পছন্দ</p>
        </div>
      </div>
    </div>

    {/* Favorites Button */}
    {favorites.length > 0 && (
      <div className="px-4 mb-4">
        <button
          onClick={() => {
            setSelectedCategory('favorites');
            setCurrentScreen('lessons');
          }}
          className="w-full bg-gradient-to-r from-pink-500 to-rose-500 text-white rounded-2xl p-5 shadow-lg flex items-center justify-between hover:shadow-xl transition-all"
        >
          <div className="flex items-center gap-3">
            <Heart className="w-6 h-6 fill-white" />
            <div className="text-left">
              <p className="font-bold">আমার পছন্দের তালিকা</p>
              <p className="text-sm opacity-90">{favorites.length} টি বাক্য</p>
            </div>
          </div>
          <ChevronRight className="w-6 h-6" />
        </button>
      </div>
    )}

    {/* Categories */}
    <div className="px-4">
      <h2 className="text-xl font-bold text-gray-800 mb-4 flex items-center gap-2">
        <Building2 className="w-5 h-5 text-indigo-600" />
        সব ক্যাটেগরি
      </h2>
      {filteredCategories.length === 0 && (
        <p className="text-center text-gray-500 mt-8">কোনো ক্যাটেগরি খুঁজে পাওয়া যায়নি। 😞</p>
      )}
      <div className="grid grid-cols-2 gap-3">
        {filteredCategories.map((cat) => (
          <button
            key={cat.id}
            onClick={() => {
              setSelectedCategory(cat.id);
              setCurrentScreen('lessons');
            }}
            className="bg-white rounded-2xl shadow-lg p-5 hover:shadow-xl transition-all transform hover:scale-105 active:scale-95 text-left"
          >
            <div className={`w-14 h-14 bg-gradient-to-br ${cat.color} rounded-xl flex items-center justify-center shadow-md mb-3`}>
              <cat.icon className="w-6 h-6 text-white" />
            </div>
            <p className="text-lg font-semibold text-gray-800">{cat.name}</p>
            <p className="text-sm text-gray-500 mt-1">{cat.lessons} টি বাক্য</p>
          </button>
        ))}
      </div>
    </div>
  </div>
);

};

const LessonsScreen = () => {
let categoryData;
let categoryName;
let categoryIcon;
let categoryColor;
let lessonList = [];

if (selectedCategory === 'favorites') {
  categoryName = "আমার পছন্দের তালিকা";
  categoryIcon = Heart;
  categoryColor = 'from-pink-500 to-rose-500';
  lessonList = favorites;
} else {
  const cat = categories.find(c => c.id === selectedCategory);
  if (!cat) return <p>Category not found.</p>;
  
  categoryName = cat.name;
  categoryIcon = cat.icon;
  categoryColor = cat.color;
  lessonList = lessons[selectedCategory] || []; // Fallback for safety
}

const filteredLessons = searchQuery
  ? lessonList.filter(lesson => 
      lesson.en.toLowerCase().includes(searchQuery.toLowerCase()) ||
      lesson.bn.includes(searchQuery)
    )
  : lessonList;

const Icon = categoryIcon;

return (
  <div className="min-h-screen bg-gray-50 pb-6">
    {/* Header */}
    <div className={`bg-gradient-to-r ${categoryColor} text-white p-6 rounded-b-3xl shadow-xl sticky top-0 z-10`}>
      <button onClick={() => { setCurrentScreen('home'); setSearchQuery(''); }} className="mb-4 flex items-center gap-1 text-white/90">
        <ChevronRight className="w-5 h-5 transform rotate-180" />
        হোম
      </button>
      <div className="flex items-center gap-3">
        <div className="w-10 h-10 bg-white/20 rounded-full flex items-center justify-center backdrop-blur-sm">
          <Icon className="w-6 h-6" />
        </div>
        <h1 className="text-2xl font-bold">{categoryName}</h1>
      </div>
      <p className="text-white/90 text-sm mt-1">{lessonList.length} টি বাক্য</p>
    </div>

    {/* Search Box */}
    <div className="px-4 -mt-6 mb-6">
      <div className="bg-white rounded-2xl shadow-xl p-4">
        <div className="flex items-center gap-3 bg-gray-50 rounded-xl px-4 py-3">
          <Search className="w-5 h-5 text-gray-400" />
          <input
            type="text"
            placeholder="বাক্য খুঁজুন (ইংরেজি বা বাংলা)..."
            value={searchQuery}
            onChange={(e) => setSearchQuery(e.target.value)}
            className="flex-1 bg-transparent outline-none text-gray-700 placeholder-gray-400"
          />
        </div>
      </div>
    </div>

    {/* Lesson List */}
    <div className="px-4">
      {filteredLessons.length === 0 && (
        <p className="text-center text-gray-500 mt-16">কোনো বাক্য খুঁজে পাওয়া যায়নি। 😥</p>
      )}
      <div className="space-y-4">
        {filteredLessons.map((lesson, index) => (
          <div key={lesson.en} className="bg-white p-5 rounded-2xl shadow-md border border-gray-100 hover:shadow-lg transition-shadow">
            <div className="flex justify-between items-start">
              <div className="flex-1 pr-4">
                <p className="text-lg font-bold text-indigo-700 mb-1">{lesson.en}</p>
                <p className="text-base text-gray-600">{lesson.bn}</p>
              </div>
              <button
                onClick={() => toggleFavorite(lesson)}
                className="p-2 rounded-full transition-colors active:scale-90"
                title={isFavorite(lesson) ? "পছন্দ থেকে সরান" : "পছন্দে যোগ করুন"}
              >
                <Heart className={`w-6 h-6 ${isFavorite(lesson) ? 'text-red-500 fill-red-500' : 'text-gray-400 hover:text-red-400'}`} />
              </button>
            </div>
          </div>
        ))}
      </div>
    </div>
  </div>
);

};

const renderScreen = () => {
switch (currentScreen) {
case 'home':
return ;
case 'lessons':
return ;
default:
return ;
}
};

return (


{renderScreen()}

);
}

এখানে আপনারা ইংরেজি শিখতে পারবেন
@mdtuhin64882-create mdtuhin64882-create requested a review from a team as a code owner October 12, 2025 02:29
@God-Serenaa
Copy link

ভাই আপনি কি এখানে হুদাই গালি খাইতে আসছেন?

@tailwindlabs tailwindlabs locked as spam and limited conversation to collaborators Oct 12, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants