import { createContext, useContext, useState, useEffect, useCallback, type ReactNode } from "react";

export type Lang = "bn" | "en";

type Translations = Record<string, Record<Lang, string>>;

export const t: Translations = {
  // Sidebar
  dashboard: { bn: "ড্যাশবোর্ড", en: "Dashboard" },
  pos: { bn: "POS", en: "POS" },
  products: { bn: "পণ্য সমূহ", en: "Products" },
  salesHistory: { bn: "বিক্রির ইতিহাস", en: "Sales History" },
  reports: { bn: "রিপোর্ট", en: "Reports" },
  profitLoss: { bn: "লাভ ও ক্ষতি", en: "Profit & Loss" },
  reportsOverview: { bn: "ওভারভিউ", en: "Overview" },
  salesReport: { bn: "বিক্রয় রিপোর্ট", en: "Sales Report" },
  purchaseReport: { bn: "ক্রয় রিপোর্ট", en: "Purchase Report" },
  stockReport: { bn: "স্টক রিপোর্ট", en: "Stock Report" },
  customerReport: { bn: "কাস্টমার রিপোর্ট", en: "Customer Report" },
  supplierReport: { bn: "সরবরাহকারী রিপোর্ট", en: "Supplier Report" },
  expenseReport: { bn: "খরচ রিপোর্ট", en: "Expense Report" },
  walletReport: { bn: "ওয়ালেট রিপোর্ট", en: "Wallet Report" },
  godownReport: { bn: "গোডাউন রিপোর্ট", en: "Godown Report" },
  damageReport: { bn: "ক্ষতি ও রিটার্ন রিপোর্ট", en: "Damage & Return Report" },
  settings: { bn: "সেটিংস", en: "Settings" },
  logout: { bn: "লগ আউট", en: "Logout" },
  logoutSuccess: { bn: "সফলভাবে লগ আউট হয়েছে", en: "Logged out successfully" },

  // New sidebar items
  account: { bn: "অ্যাকাউন্ট", en: "Account" },
  management: { bn: "ম্যানেজমেন্ট", en: "Management" },
  product: { bn: "পণ্য", en: "Product" },
  purchase: { bn: "ক্রয়", en: "Purchase" },
  suppliers: { bn: "সরবরাহকারী", en: "Suppliers" },
  customers: { bn: "কাস্টমারস", en: "Customers" },
  customerSegments: { bn: "কাস্টমার সেগমেন্ট", en: "Customer Segments" },
  staff: { bn: "স্টাফ", en: "Staff" },
  sales: { bn: "বিক্রয়", en: "Sales" },
  saleList: { bn: "বিক্রয় তালিকা", en: "Sale List" },
  addNewSale: { bn: "নতুন বিক্রয়", en: "Add New Sale" },
  returnLabel: { bn: "রিটার্ন", en: "Return" },
  salesOrder: { bn: "সেলস অর্ডার", en: "Sales Order" },
  salesOrderList: { bn: "অর্ডার তালিকা", en: "Order List" },
  addSalesOrder: { bn: "নতুন অর্ডার", en: "New Order" },
  quotations: { bn: "কোটেশন", en: "Quotations" },
  transfer: { bn: "ট্রান্সফার", en: "Transfer" },
  expense: { bn: "খরচ", en: "Expense" },
  expenses: { bn: "খরচ তালিকা", en: "Expenses" },
  incomes: { bn: "আয় তালিকা", en: "Incomes" },
  transactionCategories: { bn: "আয়/ব্যয় ক্যাটাগরি", en: "Income/Expense Categories" },
  dailyCashClosing: { bn: "দৈনিক ক্যাশ ক্লোজিং", en: "Daily Cash Closing" },
  productList: { bn: "পণ্য তালিকা", en: "Product List" },
  addProduct: { bn: "নতুন পণ্য", en: "Add Product" },
  productTypes: { bn: "পণ্যের ধরন", en: "Product Types" },
  units: { bn: "ইউনিট", en: "Units" },
  addUnit: { bn: "নতুন ইউনিট", en: "Add Unit" },
  editUnit: { bn: "ইউনিট সম্পাদনা", en: "Edit Unit" },
  unitSubtitle: { bn: "পণ্যের ইউনিট ব্যবস্থাপনা", en: "Manage product units" },
  categories: { bn: "ক্যাটাগরি", en: "Categories" },
  categorySubtitle: { bn: "ক্যাটাগরি ও সাব-ক্যাটাগরি ব্যবস্থাপনা", en: "Manage categories & sub-categories" },
  addCategory: { bn: "নতুন ক্যাটাগরি", en: "Add Category" },
  editCategory: { bn: "ক্যাটাগরি সম্পাদনা", en: "Edit Category" },
  addSubCategory: { bn: "নতুন সাব-ক্যাটাগরি", en: "Add Sub-Category" },
  editSubCategory: { bn: "সাব-ক্যাটাগরি সম্পাদনা", en: "Edit Sub-Category" },
  subCategories: { bn: "সাব-ক্যাটাগরি", en: "Sub-Categories" },
  subCategorySubtitle: { bn: "সাব-ক্যাটাগরি ব্যবস্থাপনা", en: "Manage sub-categories" },
  purchaseList: { bn: "ক্রয় তালিকা", en: "Purchase List" },
  addPurchase: { bn: "নতুন ক্রয়", en: "Add Purchase" },

  // Top bar
  chat: { bn: "চ্যাট", en: "Chat" },
  received: { bn: "প্রাপ্ত", en: "Received" },
  paymentLabel: { bn: "পেমেন্ট", en: "Payment" },
  purchaseBtn: { bn: "ক্রয়", en: "Purchase" },
  saleBtn: { bn: "বিক্রয়", en: "Sale" },
  accountBook: { bn: "অ্যাকাউন্ট বুক", en: "Account Book" },

  // Dashboard
  dashboardTitle: { bn: "ড্যাশবোর্ড", en: "Dashboard" },
  dashboardSubtitle: { bn: "আজকের ব্যবসার সারাংশ", en: "Today's business summary" },
  todaySales: { bn: "আজকের বিক্রি", en: "Today's Sales" },
  totalOrders: { bn: "মোট অর্ডার", en: "Total Orders" },
  productsLabel: { bn: "পণ্য সমূহ", en: "Products" },
  monthlyIncome: { bn: "মাসিক আয়", en: "Monthly Income" },
  comparedLastWeek: { bn: "গত সপ্তাহের তুলনায়", en: "compared to last week" },
  recentSales: { bn: "সাম্প্রতিক বিক্রয়", en: "Recent Sales" },
  id: { bn: "আইডি", en: "ID" },
  customer: { bn: "কাস্টমার", en: "Customer" },
  product2: { bn: "পণ্য", en: "Product" },
  total: { bn: "মোট", en: "Total" },
  payment: { bn: "পেমেন্ট", en: "Payment" },
  date: { bn: "তারিখ", en: "Date" },
  walkIn: { bn: "ওয়াক-ইন", en: "Walk-in" },

  // POS
  posSales: { bn: "POS — বিক্রয়", en: "POS — Sales" },
  searchProduct: { bn: "পণ্য খুঁজুন — নাম, বারকোড...", en: "Search product — name, barcode..." },
  allProducts: { bn: "সব পণ্য", en: "All Products" },
  stock: { bn: "স্টক", en: "Stock" },
  noProductFound: { bn: "কোনো পণ্য পাওয়া যায়নি", en: "No products found" },
  cart: { bn: "কার্ট", en: "Cart" },
  clearAll: { bn: "সব মুছুন", en: "Clear all" },
  cartEmpty: { bn: "কার্ট খালি", en: "Cart is empty" },
  subtotal: { bn: "সাবটোটাল", en: "Subtotal" },
  discount: { bn: "ডিসকাউন্ট", en: "Discount" },
  paidAmount: { bn: "প্রদত্ত টাকা", en: "Paid Amount" },
  amountPlaceholder: { bn: "টাকার পরিমাণ", en: "Enter amount" },
  change: { bn: "ফেরত", en: "Change" },
  cash: { bn: "নগদ", en: "Cash" },
  bkash: { bn: "বিকাশ", en: "bKash" },
  card: { bn: "কার্ড", en: "Card" },
  completeSale: { bn: "বিক্রয় সম্পন্ন করুন", en: "Complete Sale" },

  // Products page
  productsTitle: { bn: "পণ্য সমূহ", en: "Products" },
  productsSubtitle: { bn: "সকল পণ্যের তালিকা ও ব্যবস্থাপনা", en: "Product list & management" },
  newProduct: { bn: "নতুন পণ্য", en: "New Product" },
  searchProducts: { bn: "পণ্য খুঁজুন...", en: "Search products..." },
  barcode: { bn: "বারকোড", en: "Barcode" },
  productName: { bn: "পণ্যের নাম", en: "Product Name" },
  category: { bn: "ক্যাটাগরি", en: "Category" },
  price: { bn: "দাম", en: "Price" },
  unit: { bn: "একক", en: "Unit" },
  action: { bn: "অ্যাকশন", en: "Action" },

  // Sales page
  salesTitle: { bn: "বিক্রির ইতিহাস", en: "Sales History" },
  salesSubtitle: { bn: "সব বিক্রির বিস্তারিত তালিকা", en: "Detailed list of all sales" },
  invoice: { bn: "ইনভয়েস", en: "Invoice" },
  items: { bn: "আইটেম", en: "Items" },
  paid: { bn: "প্রদত্ত", en: "Paid" },
  noSalesFound: { bn: "কোনো বিক্রি পাওয়া যায়নি", en: "No sales found" },

  // Reports
  reportsTitle: { bn: "রিপোর্ট", en: "Reports" },
  reportsSubtitle: { bn: "মাসিক বিক্রি ও পারফর্ম্যান্স", en: "Monthly sales & performance" },
  monthlySales: { bn: "মাসিক বিক্রয় (২০২৬)", en: "Monthly Sales (2026)" },
  topSellingProduct: { bn: "সর্বাধিক বিক্রিত পণ্য", en: "Top Selling Product" },
  topRevenueProduct: { bn: "সর্বাধিক আয়ের পণ্য", en: "Top Revenue Product" },
  lowStockAlert: { bn: "কম স্টক সতর্কতা", en: "Low Stock Alert" },
  unitsSold: { bn: "পিস বিক্রি হয়েছে", en: "units sold" },
  revenue: { bn: "আয়", en: "revenue" },
  productsCount: { bn: "পণ্য", en: "products" },
  stockBelow30: { bn: "স্টক ৩০ এর কম", en: "Stock below 30" },
  typeWiseReport: { bn: "ধরন অনুযায়ী পণ্যের রিপোর্ট", en: "Product Type Report" },
  typeWiseSubtitle: { bn: "প্রতিটি টাইপে মোট পণ্য ও স্টক মূল্য", en: "Total products & stock value per type" },
  totalProductsLabel: { bn: "মোট পণ্য", en: "Total Products" },
  totalStockValue: { bn: "মোট স্টক মূল্য", en: "Total Stock Value" },
  avgPrice: { bn: "গড় দাম", en: "Avg Price" },
  typeDistribution: { bn: "টাইপ অনুযায়ী বিতরণ", en: "Type Distribution" },
  typeStockComparison: { bn: "স্টক মূল্য তুলনা", en: "Stock Value Comparison" },

  // Settings
  settingsTitle: { bn: "সেটিংস", en: "Settings" },
  settingsSubtitle: { bn: "দোকানের তথ্য ও অ্যাপ কনফিগারেশন", en: "Store info & app configuration" },
  storeInfo: { bn: "দোকানের তথ্য", en: "Store Info" },
  storeName: { bn: "দোকানের নাম", en: "Store Name" },
  address: { bn: "ঠিকানা", en: "Address" },
  phone: { bn: "ফোন", en: "Phone" },
  printSettings: { bn: "প্রিন্ট সেটিংস", en: "Print Settings" },
  autoPrintReceipt: { bn: "অটো প্রিন্ট রিসিপ্ট", en: "Auto Print Receipt" },
  notifications: { bn: "নোটিফিকেশন", en: "Notifications" },
  sms: { bn: "এসএমএস", en: "SMS" },
  lowStockWarning: { bn: "স্টক কম হলে সতর্কতা", en: "Low stock warning" },
  save: { bn: "সেভ করুন", en: "Save" },
  saveAndPrint: { bn: "সেভ ও প্রিন্ট", en: "Save and Print" },

  // Login
  loginTitle: { bn: "আপনার অ্যাকাউন্টে লগইন করুন", en: "Login to your account" },
  signupTitle: { bn: "নতুন অ্যাকাউন্ট তৈরি করুন", en: "Create a new account" },
  forgotTitle: { bn: "পাসওয়ার্ড রিসেট করুন", en: "Reset your password" },
  fullName: { bn: "পূর্ণ নাম", en: "Full Name" },
  yourName: { bn: "আপনার নাম", en: "Your name" },
  email: { bn: "ইমেইল", en: "Email" },
  password: { bn: "পাসওয়ার্ড", en: "Password" },
  forgotPassword: { bn: "পাসওয়ার্ড ভুলে গেছেন?", en: "Forgot password?" },
  login: { bn: "লগইন", en: "Login" },
  signup: { bn: "নিবন্ধন করুন", en: "Sign Up" },
  noAccount: { bn: "অ্যাকাউন্ট নেই?", en: "Don't have an account?" },
  hasAccount: { bn: "ইতিমধ্যে অ্যাকাউন্ট আছে?", en: "Already have an account?" },
  sendResetLink: { bn: "রিসেট লিংক পাঠান", en: "Send Reset Link" },
  backToLogin: { bn: "লগইনে ফিরে যান", en: "Back to Login" },
  loginSuccess: { bn: "সফলভাবে লগইন হয়েছে!", en: "Logged in successfully!" },
  signupSuccess: { bn: "নিবন্ধন সফল! অনুগ্রহ করে আপনার ইমেইল যাচাই করুন।", en: "Registration successful! Please verify your email." },
  resetLinkSent: { bn: "পাসওয়ার্ড রিসেট লিংক আপনার ইমেইলে পাঠানো হয়েছে।", en: "Password reset link sent to your email." },
  somethingWrong: { bn: "কিছু সমস্যা হয়েছে", en: "Something went wrong" },

  // Language
  language: { bn: "ভাষা", en: "Language" },

  // Add New Sale form
  addNewSaleTitle: { bn: "নতুন বিক্রয় যোগ করুন", en: "Add New Sale" },
  branch: { bn: "শাখা", en: "Branch" },
  selectBranch: { bn: "শাখা নির্বাচন করুন", en: "Select a Branch" },
  selectCustomer: { bn: "কাস্টমার নির্বাচন করুন", en: "Select a Customer" },
  saleMan: { bn: "সেলস ম্যান", en: "Sale Man" },
  selectSaleMan: { bn: "সেলস ম্যান নির্বাচন করুন", en: "Select a Sale Man" },
  saleStatus: { bn: "বিক্রয় স্ট্যাটাস", en: "Sale Status" },
  name: { bn: "নাম", en: "Name" },
  code: { bn: "কোড", en: "Code" },
  quantity: { bn: "পরিমাণ", en: "Quantity" },
  unitPrice: { bn: "একক মূল্য (BDT)", en: "Unit Price (BDT)" },
  discountBDT: { bn: "ডিসকাউন্ট (BDT)", en: "Discount (BDT)" },
  subtotalBDT: { bn: "সাবটোটাল (BDT)", en: "Subtotal (BDT)" },
  discountPercent: { bn: "ডিসকাউন্ট (%)", en: "Discount (%)" },
  expenseLedger: { bn: "খরচ লেজার", en: "Expense Ledger" },
  expenseAmount: { bn: "খরচের পরিমাণ (BDT)", en: "Expense Amount (BDT)" },
  grandTotal: { bn: "গ্র্যান্ড টোটাল (BDT)", en: "Grand Total (BDT)" },
  subTotalLabel: { bn: "সাব টোটাল (BDT)", en: "Sub Total (BDT)" },
  expenseBDT: { bn: "খরচ (BDT)", en: "Expense (BDT)" },
  grandTotalBDT: { bn: "গ্র্যান্ড টোটাল (BDT)", en: "Grand Total (BDT)" },
  paidBDT: { bn: "পরিশোধিত (BDT)", en: "Paid (BDT)" },
  dueBDT: { bn: "বকেয়া (BDT)", en: "Due (BDT)" },
  addPayment: { bn: "পেমেন্ট যোগ করুন", en: "Add Payment" },
  addNotes: { bn: "নোট যোগ করুন", en: "Add Notes" },
  sendMessage: { bn: "মেসেজ পাঠান", en: "Send Message" },
  addReturn: { bn: "রিটার্ন যোগ করুন", en: "Add Return" },
  searchProductLabel: { bn: "পণ্য খুঁজুন", en: "Search Product" },
  paymentMethod: { bn: "পেমেন্ট পদ্ধতি", en: "Payment Method" },
  paidAmountLabel: { bn: "পরিশোধিত পরিমাণ", en: "Paid Amount" },
  paymentNote: { bn: "পেমেন্ট নোট", en: "Payment Note" },
  notesPlaceholder: { bn: "বিক্রয় সম্পর্কে নোট লিখুন...", en: "Write notes about this sale..." },
  messageRecipient: { bn: "প্রাপকের নম্বর", en: "Recipient Number" },
  messageText: { bn: "মেসেজ", en: "Message" },
  returnQuantity: { bn: "রিটার্ন পরিমাণ", en: "Return Qty" },
  returnReason: { bn: "রিটার্নের কারণ", en: "Return Reason" },
  noItemsToReturn: { bn: "রিটার্নের জন্য পণ্য যোগ করুন", en: "Add products to return" },
  bankTransfer: { bn: "ব্যাংক ট্রান্সফার", en: "Bank Transfer" },

  // Add Product page
  fillProductInfo: { bn: "নতুন পণ্যের তথ্য পূরণ করুন", en: "Fill in new product details" },
  basicInfo: { bn: "📋 মূল তথ্য", en: "📋 Basic Info" },
  productType: { bn: "পণ্যের ধরন (Product Type)", en: "Product Type" },
  productNameEn: { bn: "Product Name (English)", en: "Product Name (English)" },
  productNameBn: { bn: "পণ্যের নাম (বাংলা)", en: "Product Name (Bengali)" },
  categoryLabel: { bn: "ক্যাটাগরি", en: "Category" },
  subcategoryLabel: { bn: "সাব-ক্যাটাগরি", en: "Sub-Category" },
  selectOption: { bn: "নির্বাচন করুন", en: "Select" },

  // Branches & Brands
  branches: { bn: "শাখা", en: "Branches" },
  branchManagement: { bn: "শাখা ব্যবস্থাপনা", en: "Branch Management" },
  addBranch: { bn: "নতুন শাখা", en: "Add Branch" },
  editBranch: { bn: "শাখা সম্পাদনা", en: "Edit Branch" },
  branchName: { bn: "শাখার নাম", en: "Branch Name" },
  branchCode: { bn: "শাখা কোড", en: "Branch Code" },
  branchReports: { bn: "শাখা রিপোর্ট", en: "Branch Reports" },
  
  brands: { bn: "ব্র্যান্ড", en: "Brands" },
  brandManagement: { bn: "ব্র্যান্ড ব্যবস্থাপনা", en: "Brand Management" },
  addBrand: { bn: "নতুন ব্র্যান্ড", en: "Add Brand" },
  editBrand: { bn: "ব্র্যান্ড সম্পাদনা", en: "Edit Brand" },
  brandName: { bn: "ব্র্যান্ডের নাম", en: "Brand Name" },
  brandLogo: { bn: "ব্র্যান্ড লোগো", en: "Brand Logo" },
  description: { bn: "বিবরণ", en: "Description" },
  totalProducts: { bn: "মোট পণ্য", en: "Total Products" },
  skuBarcode: { bn: "🔖 SKU ও বারকোড", en: "🔖 SKU & Barcode" },
  skuLabel: { bn: "SKU (ইউনিক কোড)", en: "SKU (Unique Code)" },
  barcodeLabel: { bn: "বারকোড", en: "Barcode" },
  pricingSection: { bn: "💰 মূল্য নির্ধারণ", en: "💰 Pricing" },
  purchasePrice: { bn: "ক্রয় মূল্য (৳)", en: "Purchase Price (৳)" },
  retailPrice: { bn: "খুচরা মূল্য (৳)", en: "Retail Price (৳)" },
  wholesalePrice: { bn: "পাইকারি মূল্য (৳)", en: "Wholesale Price (৳)" },
  stockUnit: { bn: "📦 স্টক ও ইউনিট", en: "📦 Stock & Unit" },
  openingStock: { bn: "ওপেনিং স্টক", en: "Opening Stock" },
  unitLabel: { bn: "ইউনিট", en: "Unit" },
  productImage: { bn: "🖼️ পণ্যের ছবি", en: "🖼️ Product Image" },
  uploadLabel: { bn: "আপলোড", en: "Upload" },
  saving: { bn: "সেভ হচ্ছে...", en: "Saving..." },
  saveProduct: { bn: "পণ্য সেভ করুন", en: "Save Product" },
  cancel: { bn: "বাতিল", en: "Cancel" },
  skuRequired: { bn: "Product Name ও SKU আবশ্যক", en: "Product Name & SKU are required" },
  imageUploadFailed: { bn: "ছবি আপলোড ব্যর্থ", en: "Image upload failed" },
  skuExists: { bn: "এই SKU ইতিমধ্যে ব্যবহৃত হয়েছে", en: "This SKU is already in use" },
  productAddFailed: { bn: "পণ্য যোগ করা যায়নি", en: "Failed to add product" },
  productAddSuccess: { bn: "পণ্য সফলভাবে যোগ হয়েছে!", en: "Product added successfully!" },

  // Customers
  customerSubtitle: { bn: "কাস্টমার তালিকা ও ব্যবস্থাপনা", en: "Customer list & management" },
  addCustomer: { bn: "নতুন কাস্টমার", en: "Add Customer" },
  editCustomer: { bn: "কাস্টমার সম্পাদনা", en: "Edit Customer" },
  searchCustomer: { bn: "নাম বা মোবাইল দিয়ে খুঁজুন...", en: "Search by name or mobile..." },
  customerType: { bn: "কাস্টমার টাইপ", en: "Customer Type" },
  retail: { bn: "খুচরা", en: "Retail" },
  wholesale: { bn: "পাইকারি", en: "Wholesale" },
  mobile: { bn: "মোবাইল", en: "Mobile" },
  openingBalance: { bn: "ওপেনিং ব্যালেন্স", en: "Opening Balance" },
  currentBalance: { bn: "বর্তমান ব্যালেন্স", en: "Current Balance" },
  totalDue: { bn: "মোট বকেয়া", en: "Total Due" },
  referenceMobile: { bn: "রেফারেন্স মোবাইল", en: "Reference Mobile" },
  referredBy: { bn: "রেফার করেছেন", en: "Referred By" },
  referredCustomers: { bn: "রেফার্ড কাস্টমার", en: "Referred Customers" },
  noReferrals: { bn: "কোনো রেফারেল নেই", en: "No referrals" },
  allTypes: { bn: "সব টাইপ", en: "All Types" },
  allStatus: { bn: "সব স্ট্যাটাস", en: "All Status" },
  active: { bn: "সক্রিয়", en: "Active" },
  inactive: { bn: "নিষ্ক্রিয়", en: "Inactive" },
  noCustomers: { bn: "কোনো কাস্টমার পাওয়া যায়নি", en: "No customers found" },
  loading: { bn: "লোড হচ্ছে...", en: "Loading..." },
  customerAdded: { bn: "কাস্টমার সফলভাবে যোগ হয়েছে!", en: "Customer added successfully!" },
  customerUpdated: { bn: "কাস্টমার আপডেট হয়েছে!", en: "Customer updated!" },
  customerDeleted: { bn: "কাস্টমার মুছে ফেলা হয়েছে!", en: "Customer deleted!" },
  nameAndMobileRequired: { bn: "নাম ও মোবাইল আবশ্যক", en: "Name and mobile are required" },
  confirmDelete: { bn: "নিশ্চিত করুন", en: "Confirm Delete" },
  deleteCustomerWarning: { bn: "এই কাস্টমার মুছে ফেলতে চান?", en: "Are you sure you want to delete this customer?" },
  delete: { bn: "মুছুন", en: "Delete" },
  backToList: { bn: "তালিকায় ফিরুন", en: "Back to List" },
  accountSummary: { bn: "অ্যাকাউন্ট সারাংশ", en: "Account Summary" },
  totalPurchase: { bn: "মোট ক্রয়", en: "Total Purchase" },
  totalPaid: { bn: "মোট পরিশোধিত", en: "Total Paid" },
  transactionHistory: { bn: "লেনদেনের ইতিহাস", en: "Transaction History" },
  noTransactions: { bn: "কোনো লেনদেন নেই", en: "No transactions yet" },
  type: { bn: "ধরন", en: "Type" },
  amount: { bn: "পরিমাণ", en: "Amount" },
  note: { bn: "নোট", en: "Note" },
  status: { bn: "স্ট্যাটাস", en: "Status" },
  totalCustomers: { bn: "মোট কাস্টমার", en: "Total Customers" },
  totalBalanceLabel: { bn: "মোট ব্যালেন্স", en: "Total Balance" },
  dueCustomers: { bn: "বকেয়া কাস্টমার", en: "Due Customers" },
  allDue: { bn: "সব বকেয়া", en: "All Due" },
  hasDue: { bn: "বকেয়া আছে", en: "Has Due" },
  noDue: { bn: "বকেয়া নেই", en: "No Due" },
  recordPayment: { bn: "পেমেন্ট রেকর্ড", en: "Record Payment" },
  paymentRecorded: { bn: "পেমেন্ট সফলভাবে রেকর্ড হয়েছে!", en: "Payment recorded successfully!" },
  paymentNotePlaceholder: { bn: "পেমেন্ট সম্পর্কে নোট...", en: "Note about this payment..." },
  currentDue: { bn: "বর্তমান বকেয়া", en: "Current Due" },
  afterPayment: { bn: "পেমেন্টের পরে", en: "After Payment" },
  viewProfile: { bn: "প্রোফাইল দেখুন", en: "View Profile" },
  memberSince: { bn: "সদস্য হয়েছেন", en: "Member Since" },
  cannotDeleteCustomerWithTransactions: { bn: "এই কাস্টমারের লেনদেন আছে, মুছে ফেলা যাবে না", en: "Cannot delete customer with existing transactions" },
  export: { bn: "এক্সপোর্ট", en: "Export" },
  showing: { bn: "দেখাচ্ছে", en: "Showing" },

  // Referral & Commission
  referralSection: { bn: "রেফারেল তথ্য", en: "Referral Info" },
  totalReferrals: { bn: "মোট রেফারেল", en: "Total Referrals" },
  totalCommissionEarned: { bn: "মোট কমিশন অর্জিত", en: "Total Commission Earned" },
  totalReferralSales: { bn: "মোট রেফারেল বিক্রয়", en: "Total Referral Sales" },
  commissions: { bn: "কমিশন", en: "Commissions" },
  commissionAmount: { bn: "কমিশনের পরিমাণ", en: "Commission Amount" },
  commissionType: { bn: "কমিশনের ধরন", en: "Commission Type" },
  fixedType: { bn: "নির্দিষ্ট", en: "Fixed" },
  percentageType: { bn: "শতাংশ", en: "Percentage" },
  pendingStatus: { bn: "মুলতুবি", en: "Pending" },
  referralDashboard: { bn: "রেফারেল ড্যাশবোর্ড", en: "Referral Dashboard" },
  topReferrers: { bn: "শীর্ষ রেফারার", en: "Top Referrers" },
  referrerNotFound: { bn: "এই মোবাইল নম্বরে কোনো কাস্টমার পাওয়া যায়নি", en: "No customer found with this mobile number" },
  referrerFound: { bn: "রেফারার পাওয়া গেছে", en: "Referrer found" },
  searchingReferrer: { bn: "রেফারার খুঁজছি...", en: "Searching referrer..." },
  referralPurchase: { bn: "রেফারেল ক্রয়", en: "Referral Purchase" },

  // Admin Panel
  adminPanel: { bn: "অ্যাডমিন প্যানেল", en: "Admin Panel" },
  adminPanelDesc: { bn: "ইউজার, সেটিংস ও অ্যাক্টিভিটি লগ ম্যানেজ করুন", en: "Manage users, settings & activity logs" },
  adminUsers: { bn: "ইউজার ও রোল", en: "Users & Roles" },
  adminBusinessSettings: { bn: "ব্যবসার সেটিংস", en: "Business Settings" },
  adminActivityLog: { bn: "অ্যাক্টিভিটি লগ", en: "Activity Log" },
  addRole: { bn: "রোল যোগ করুন", en: "Add Role" },
  selectUser: { bn: "ইউজার নির্বাচন করুন", en: "Select User" },
  roles: { bn: "রোল", en: "Roles" },
  noRole: { bn: "কোনো রোল নেই", en: "No role" },
  roleAdded: { bn: "রোল সফলভাবে যোগ হয়েছে", en: "Role added successfully" },
  roleRemoved: { bn: "রোল সফলভাবে সরানো হয়েছে", en: "Role removed successfully" },
  searchUsers: { bn: "ইউজার খুঁজুন...", en: "Search users..." },
  userName: { bn: "নাম", en: "Name" },
  actions: { bn: "অ্যাকশন", en: "Actions" },
  businessName: { bn: "ব্যবসার নাম", en: "Business Name" },
  businessNameBn: { bn: "ব্যবসার নাম (বাংলা)", en: "Business Name (Bangla)" },
  phoneNumber: { bn: "ফোন নম্বর", en: "Phone Number" },
  commissionRate: { bn: "কমিশন রেট (%)", en: "Commission Rate (%)" },

  // Staff Management
  staffMgmtTitle: { bn: "স্টাফ ম্যানেজমেন্ট", en: "Staff Management" },
  staffMgmtSubtitle: { bn: "কর্মচারী যোগ, সম্পাদনা ও ব্যবস্থাপনা", en: "Add, edit and manage employees" },
  totalStaff: { bn: "মোট স্টাফ", en: "Total Staff" },
  activeStaff: { bn: "সক্রিয়", en: "Active" },
  inactiveStaff: { bn: "নিষ্ক্রিয়", en: "Inactive" },
  searchStaff: { bn: "নাম, মোবাইল, ইমেইল দিয়ে খুঁজুন...", en: "Search by name, mobile, email..." },
  roleLabel: { bn: "রোল", en: "Role" },
  allRoles: { bn: "সব রোল", en: "All Roles" },
  staffStatusLabel: { bn: "স্ট্যাটাস", en: "Status" },
  staffAllStatus: { bn: "সব", en: "All" },
  staffActive: { bn: "সক্রিয়", en: "Active" },
  staffInactive: { bn: "নিষ্ক্রিয়", en: "Inactive" },
  newStaff: { bn: "নতুন স্টাফ", en: "New Staff" },
  editStaff: { bn: "স্টাফ সম্পাদনা", en: "Edit Staff" },
  addNewStaff: { bn: "নতুন স্টাফ যোগ করুন", en: "Add New Staff" },
  mobileLabel: { bn: "মোবাইল", en: "Mobile" },
  emailLabel: { bn: "ইমেইল", en: "Email" },
  designation: { bn: "পদবি", en: "Designation" },
  joiningDate: { bn: "যোগদানের তারিখ", en: "Joining Date" },
  monthlySalary: { bn: "মাসিক স্যালারি (৳)", en: "Monthly Salary (৳)" },
  salaryLabel: { bn: "স্যালারি", en: "Salary" },
  addressLabel: { bn: "ঠিকানা", en: "Address" },
  noteLabel: { bn: "নোট", en: "Note" },
  staffCancel: { bn: "বাতিল", en: "Cancel" },
  staffSaving: { bn: "সংরক্ষণ হচ্ছে...", en: "Saving..." },
  saveBtn: { bn: "সংরক্ষণ করুন", en: "Save" },
  loadingText: { bn: "লোড হচ্ছে...", en: "Loading..." },
  noStaffFound: { bn: "কোনো স্টাফ পাওয়া যায়নি", en: "No staff found" },
  staffAdded: { bn: "স্টাফ যোগ হয়েছে", en: "Staff added" },
  staffUpdated: { bn: "স্টাফ আপডেট হয়েছে", en: "Staff updated" },
  staffDeleted: { bn: "স্টাফ ডিলিট হয়েছে", en: "Staff deleted" },
  staffStatusUpdated: { bn: "স্ট্যাটাস আপডেট হয়েছে", en: "Status updated" },
  nameRequired: { bn: "নাম প্রয়োজন", en: "Name is required" },
  mobileRequired: { bn: "মোবাইল প্রয়োজন", en: "Mobile is required" },
  deleteStaffQ: { bn: "স্টাফ ডিলিট করবেন?", en: "Delete this staff?" },
  deleteIrreversible: { bn: "এই কাজটি পূর্বাবস্থায় ফেরানো যাবে না।", en: "This action cannot be undone." },
  deleteBtn: { bn: "ডিলিট করুন", en: "Delete" },
  setActive: { bn: "সক্রিয় করুন", en: "Set Active" },
  setInactive: { bn: "নিষ্ক্রিয় করুন", en: "Set Inactive" },
  // Roles
  roleManager: { bn: "ম্যানেজার", en: "Manager" },
  roleSales: { bn: "সেলস", en: "Sales" },
  roleDelivery: { bn: "ডেলিভারি", en: "Delivery" },
  roleCashier: { bn: "ক্যাশিয়ার", en: "Cashier" },
  roleAccountant: { bn: "অ্যাকাউন্ট্যান্ট", en: "Accountant" },
  roleStockKeeper: { bn: "স্টক কিপার", en: "Stock Keeper" },
  roleOther: { bn: "অন্যান্য", en: "Other" },
  // Salary dialog
  salaryMgmt: { bn: "স্যালারি ম্যানেজমেন্ট", en: "Salary Management" },
  basicSalary: { bn: "বেসিক স্যালারি", en: "Basic Salary" },
  totalPayments: { bn: "মোট পেমেন্ট", en: "Total Payments" },
  staffTotalPaid: { bn: "মোট পরিশোধিত", en: "Total Paid" },
  newSalaryPayment: { bn: "নতুন স্যালারি পেমেন্ট", en: "New Salary Payment" },
  monthLabel: { bn: "মাস", en: "Month" },
  yearLabel: { bn: "বছর", en: "Year" },
  staffPaymentMethod: { bn: "পেমেন্ট মেথড", en: "Payment Method" },
  paymentDate: { bn: "পেমেন্ট তারিখ", en: "Payment Date" },
  basicSalaryInput: { bn: "বেসিক স্যালারি (৳)", en: "Basic Salary (৳)" },
  bonusPlus: { bn: "বোনাস (+)", en: "Bonus (+)" },
  deductionMinus: { bn: "কর্তন (−)", en: "Deduction (−)" },
  netSalary: { bn: "নেট স্যালারি", en: "Net Salary" },
  savePayment: { bn: "পেমেন্ট সংরক্ষণ করুন", en: "Save Payment" },
  staffPaymentHistory: { bn: "পেমেন্ট হিস্টোরি", en: "Payment History" },
  basicCol: { bn: "বেসিক", en: "Basic" },
  bonusCol: { bn: "বোনাস", en: "Bonus" },
  deductionCol: { bn: "কর্তন", en: "Deduction" },
  netCol: { bn: "নেট", en: "Net" },
  methodCol: { bn: "মেথড", en: "Method" },
  dateCol: { bn: "তারিখ", en: "Date" },
  noPayments: { bn: "কোনো পেমেন্ট নেই", en: "No payments" },
  salaryPayMethodCash: { bn: "নগদ", en: "Cash" },
  salaryPayMethodBank: { bn: "ব্যাংক", en: "Bank" },
  salaryPayMethodBkash: { bn: "বিকাশ", en: "bKash" },
  salaryPayMethodNagad: { bn: "নগদ (Nagad)", en: "Nagad" },
  salaryPayMethodOther: { bn: "অন্যান্য", en: "Other" },
  salaryPaymentSaved: { bn: "স্যালারি সংরক্ষণ হয়েছে", en: "Salary payment saved" },
  deletedMsg: { bn: "ডিলিট হয়েছে", en: "Deleted" },
  monthJan: { bn: "জানুয়ারি", en: "January" },
  monthFeb: { bn: "ফেব্রুয়ারি", en: "February" },
  monthMar: { bn: "মার্চ", en: "March" },
  monthApr: { bn: "এপ্রিল", en: "April" },
  monthMay: { bn: "মে", en: "May" },
  monthJun: { bn: "জুন", en: "June" },
  monthJul: { bn: "জুলাই", en: "July" },
  monthAug: { bn: "আগস্ট", en: "August" },
  monthSep: { bn: "সেপ্টেম্বর", en: "September" },
  monthOct: { bn: "অক্টোবর", en: "October" },
  monthNov: { bn: "নভেম্বর", en: "November" },
  monthDec: { bn: "ডিসেম্বর", en: "December" },
  currency: { bn: "মুদ্রা", en: "Currency" },
  vatRate: { bn: "ভ্যাট রেট (%)", en: "VAT Rate (%)" },
  saveSettings: { bn: "সেটিংস সংরক্ষণ করুন", en: "Save Settings" },
  settingsSaved: { bn: "সেটিংস সফলভাবে সংরক্ষিত হয়েছে", en: "Settings saved successfully" },
  searchActivity: { bn: "অ্যাক্টিভিটি খুঁজুন...", en: "Search activity..." },
  noActivityLogs: { bn: "কোনো অ্যাক্টিভিটি লগ পাওয়া যায়নি", en: "No activity logs found" },
  time: { bn: "সময়", en: "Time" },
  actionLabel: { bn: "অ্যাকশন", en: "Action" },
  entityType: { bn: "ধরন", en: "Type" },
  details: { bn: "বিবরণ", en: "Details" },
  noResults: { bn: "কোনো ফলাফল পাওয়া যায়নি", en: "No results found" },

  // Returns & Refunds
  returnTitle: { bn: "রিটার্ন ও রিফান্ড", en: "Returns & Refunds" },
  returnSubtitle: { bn: "বিক্রয় রিটার্ন, রিপ্লেসমেন্ট ও রিফান্ড ম্যানেজমেন্ট", en: "Manage sales returns, replacements & refunds" },
  returnList: { bn: "রিটার্ন তালিকা", en: "Return List" },
  selectReturnType: { bn: "রিটার্ন টাইপ নির্বাচন করুন", en: "Select Return Type" },
  freshReturn: { bn: "ফ্রেশ রিটার্ন", en: "Fresh Return" },
  freshReturnDesc: { bn: "একই দিনে রিটার্ন, মেইন স্টকে ফেরত", en: "Same day return, back to main stock" },
  replacementReturn: { bn: "রিপ্লেসমেন্ট", en: "Replacement" },
  replacementReturnDesc: { bn: "পুরাতন পণ্য ফেরত, নতুন পণ্য দেওয়া", en: "Old product return, new product given" },
  damageReturn: { bn: "ড্যামেজ রিটার্ন", en: "Damage Return" },
  damageReturnDesc: { bn: "পণ্য ড্যামেজ স্টকে যাবে", en: "Product goes to damage stock" },
  invoiceId: { bn: "ইনভয়েস আইডি", en: "Invoice ID" },
  invoiceIdPlaceholder: { bn: "ইনভয়েস নম্বর লিখুন...", en: "Enter invoice number..." },
  returnProduct: { bn: "রিটার্ন পণ্য", en: "Return Product" },
  replacementProduct: { bn: "রিপ্লেসমেন্ট পণ্য", en: "Replacement Product" },
  searchReplacementProduct: { bn: "নতুন পণ্য খুঁজুন...", en: "Search replacement product..." },
  returnReasonPlaceholder: { bn: "রিটার্নের কারণ লিখুন...", en: "Enter return reason..." },
  wantRefund: { bn: "রিফান্ড দিতে চান?", en: "Want to refund?" },
  refundAmount: { bn: "রিফান্ডের পরিমাণ", en: "Refund Amount" },
  refundMethod: { bn: "রিফান্ড পদ্ধতি", en: "Refund Method" },
  submitReturn: { bn: "রিটার্ন সাবমিট করুন", en: "Submit Return" },
  returnSuccess: { bn: "রিটার্ন সফলভাবে প্রসেস হয়েছে!", en: "Return processed successfully!" },
  returnHistory: { bn: "রিটার্নের ইতিহাস", en: "Return History" },
  noReturns: { bn: "কোনো রিটার্ন পাওয়া যায়নি", en: "No returns found" },

  // User Management & Permissions
  assignSystemRole: { bn: "সিস্টেম রোল অ্যাসাইন করুন", en: "Assign System Role" },
  usernameLabel: { bn: "ইউজারনেম", en: "Username" },
  customRole: { bn: "কাস্টম রোল", en: "Custom Role" },
  systemRoles: { bn: "সিস্টেম রোল", en: "System Roles" },
  neverLoggedIn: { bn: "কখনো লগইন করেনি", en: "Never logged in" },
  userUpdated: { bn: "ইউজার আপডেট হয়েছে!", en: "User updated!" },
  statusUpdated: { bn: "স্ট্যাটাস আপডেট হয়েছে!", en: "Status updated!" },
  roleManagement: { bn: "রোল ম্যানেজমেন্ট", en: "Role Management" },
  addCustomRole: { bn: "নতুন রোল যোগ করুন", en: "Add New Role" },
  roleName: { bn: "রোলের নাম", en: "Role Name" },
  roleDescription: { bn: "রোলের বিবরণ", en: "Role Description" },
  assignedUsers: { bn: "অ্যাসাইন্ড ইউজার", en: "Assigned Users" },
  roleUpdated: { bn: "রোল আপডেট হয়েছে!", en: "Role updated!" },
  permissionMatrix: { bn: "পারমিশন ম্যাট্রিক্স", en: "Permission Matrix" },
  permissionMatrixDesc: { bn: "প্রতিটি রোলের জন্য মডিউল অ্যাক্সেস কন্ট্রোল করুন", en: "Control module access for each role" },
  permissionName: { bn: "পারমিশন", en: "Permission" },

  // Purchase Module
  purchaseSubtitle: { bn: "সকল ক্রয়ের তালিকা ও ব্যবস্থাপনা", en: "Purchase list & management" },
  searchPurchase: { bn: "ক্রয় খুঁজুন...", en: "Search purchases..." },
  invoiceNo: { bn: "ইনভয়েস নং", en: "Invoice No" },
  supplier: { bn: "সরবরাহকারী", en: "Supplier" },
  dueAmount: { bn: "বাকি টাকা", en: "Due Amount" },
  noDataFound: { bn: "কোনো তথ্য পাওয়া যায়নি", en: "No data found" },
  addPurchaseSubtitle: { bn: "নতুন ক্রয় এন্ট্রি দিন", en: "Create new purchase entry" },
  supplierInfo: { bn: "সরবরাহকারী তথ্য", en: "Supplier Information" },
  searchSupplier: { bn: "সরবরাহকারী খুঁজুন...", en: "Search supplier..." },
  productSection: { bn: "পণ্য তালিকা", en: "Product List" },
  purchaseDate: { bn: "ক্রয়ের তারিখ", en: "Purchase Date" },
  paymentSummary: { bn: "পেমেন্ট সারাংশ", en: "Payment Summary" },
  savePurchase: { bn: "ক্রয় সংরক্ষণ করুন", en: "Save Purchase" },
  purchaseSaved: { bn: "ক্রয় সফলভাবে সংরক্ষিত হয়েছে!", en: "Purchase saved successfully!" },

  // Supplier Management
  supplierList: { bn: "সরবরাহকারী তালিকা", en: "Supplier List" },
  addSupplier: { bn: "নতুন সরবরাহকারী", en: "Add Supplier" },
  editSupplier: { bn: "সরবরাহকারী সম্পাদনা", en: "Edit Supplier" },
  supplierName: { bn: "সরবরাহকারীর নাম", en: "Supplier Name" },
  companyName: { bn: "কোম্পানি নাম", en: "Company Name" },
  supplierProfile: { bn: "সরবরাহকারী প্রোফাইল", en: "Supplier Profile" },
  purchaseHistory: { bn: "ক্রয় ইতিহাস", en: "Purchase History" },
  paymentHistory: { bn: "পেমেন্ট ইতিহাস", en: "Payment History" },
  makePayment: { bn: "পেমেন্ট করুন", en: "Make Payment" },
  supplierSaved: { bn: "সরবরাহকারী সংরক্ষিত!", en: "Supplier saved!" },
  supplierUpdated: { bn: "সরবরাহকারী আপডেট হয়েছে!", en: "Supplier updated!" },
  paymentSuccess: { bn: "পেমেন্ট সফল!", en: "Payment successful!" },
  supplierDeleted: { bn: "সরবরাহকারী মুছে ফেলা হয়েছে!", en: "Supplier deleted!" },
  allSuppliers: { bn: "সকল সরবরাহকারী", en: "All Suppliers" },
  dueSuppliers: { bn: "বাকি আছে", en: "Due Suppliers" },
  ledger: { bn: "লেজার", en: "Ledger" },
  transactionType: { bn: "লেনদেনের ধরন", en: "Transaction Type" },
  noData: { bn: "কোনো ডাটা নেই", en: "No data found" },

  // Godown / Warehouse
  godown: { bn: "গোডাউন", en: "Godown" },
  godownList: { bn: "গোডাউন তালিকা", en: "Godown List" },
  addGodown: { bn: "নতুন গোডাউন", en: "Add Godown" },
  editGodown: { bn: "গোডাউন সম্পাদনা", en: "Edit Godown" },
  godownName: { bn: "গোডাউনের নাম", en: "Godown Name" },
  godownSubtitle: { bn: "গোডাউন ব্যবস্থাপনা", en: "Warehouse Management" },
  godownProfile: { bn: "গোডাউন প্রোফাইল", en: "Godown Profile" },
  godownSaved: { bn: "গোডাউন সংরক্ষিত!", en: "Godown saved!" },
  godownUpdated: { bn: "গোডাউন আপডেট হয়েছে!", en: "Godown updated!" },
  godownDeleted: { bn: "গোডাউন মুছে ফেলা হয়েছে!", en: "Godown deleted!" },
  managerName: { bn: "ম্যানেজার নাম", en: "Manager Name" },
  totalStock: { bn: "মোট স্টক", en: "Total Stock" },
  stockList: { bn: "স্টক তালিকা", en: "Stock List" },
  stockTransfer: { bn: "স্টক ট্রান্সফার", en: "Stock Transfer" },
  stockTransferSubtitle: { bn: "গোডাউনের মধ্যে স্টক ট্রান্সফার", en: "Transfer stock between godowns" },
  fromGodown: { bn: "কোন গোডাউন থেকে", en: "From Godown" },
  toGodown: { bn: "কোন গোডাউনে", en: "To Godown" },
  selectGodown: { bn: "গোডাউন নির্বাচন করুন", en: "Select Godown" },
  transferStock: { bn: "ট্রান্সফার করুন", en: "Transfer Stock" },
  transferSuccess: { bn: "স্টক ট্রান্সফার সফল!", en: "Stock transferred successfully!" },
  transferHistory: { bn: "ট্রান্সফার ইতিহাস", en: "Transfer History" },
  newTransfer: { bn: "নতুন ট্রান্সফার", en: "New Transfer" },
  availableStock: { bn: "প্রাপ্ত স্টক", en: "Available Stock" },
  insufficientStock: { bn: "পর্যাপ্ত স্টক নেই", en: "Insufficient stock" },

  // Transfer Management
  transferList: { bn: "ট্রান্সফার তালিকা", en: "Transfer List" },
  createTransfer: { bn: "নতুন ট্রান্সফার", en: "Create Transfer" },
  createTransferSubtitle: { bn: "গোডাউনের মধ্যে পণ্য স্থানান্তর করুন", en: "Transfer products between godowns" },
  transferNo: { bn: "ট্রান্সফার নং", en: "Transfer No" },
  totalItems: { bn: "মোট আইটেম", en: "Total Items" },
  transferItems: { bn: "ট্রান্সফার আইটেম", en: "Transfer Items" },
  addItem: { bn: "আইটেম যোগ করুন", en: "Add Item" },
  addItemsToTransfer: { bn: "ট্রান্সফারে আইটেম যোগ করুন", en: "Add items to transfer" },
  addAtLeastOneItem: { bn: "কমপক্ষে একটি আইটেম যোগ করুন", en: "Add at least one item" },
  sameGodownError: { bn: "একই গোডাউনে ট্রান্সফার করা যাবে না", en: "Cannot transfer to same godown" },
  invalidQuantity: { bn: "অবৈধ পরিমাণ", en: "Invalid quantity" },
  transferCreated: { bn: "ট্রান্সফার তৈরি হয়েছে!", en: "Transfer created!" },
  transferApproved: { bn: "ট্রান্সফার অনুমোদিত!", en: "Transfer approved!" },
  transferCancelled: { bn: "ট্রান্সফার বাতিল হয়েছে!", en: "Transfer cancelled!" },
  transferDetails: { bn: "ট্রান্সফার বিস্তারিত", en: "Transfer Details" },
  approveTransfer: { bn: "অনুমোদন করুন", en: "Approve Transfer" },
  cancelTransfer: { bn: "বাতিল করুন", en: "Cancel Transfer" },
  pending: { bn: "অপেক্ষমাণ", en: "Pending" },
  approved: { bn: "অনুমোদিত", en: "Approved" },
  cancelled: { bn: "বাতিল", en: "Cancelled" },
  all: { bn: "সব", en: "All" },
  selectProduct: { bn: "পণ্য নির্বাচন করুন", en: "Select Product" },

  // Backup
  backup: { bn: "ব্যাকআপ", en: "Backup" },
  referralWallet: { bn: "রেফারেল ওয়ালেট", en: "Referral Wallet" },
  withdrawals: { bn: "ওয়ালেট ক্যাশ আউট", en: "Wallet Cash Out" },
  walletManagement: { bn: "ওয়ালেট ম্যানেজমেন্ট", en: "Wallet Management" },
  portalAccess: { bn: "পোর্টাল অ্যাকসেস", en: "Portal Access" },
  
  commissionSettings: { bn: "কমিশন সেটিংস", en: "Commission Settings" },
  investorMgmt: { bn: "ইনভেস্টর ম্যানেজমেন্ট", en: "Investor Management" },
  investorsList: { bn: "ইনভেস্টর তালিকা", en: "Investors" },
  investorWithdrawals: { bn: "ইনভেস্টর উইথড্র", en: "Investor Withdrawals" },
  editInvestor: { bn: "ইনভেস্টর সম্পাদনা", en: "Edit Investor" },
  deleteInvestor: { bn: "ইনভেস্টর মুছুন", en: "Delete Investor" },
  investorUpdated: { bn: "ইনভেস্টর আপডেট হয়েছে!", en: "Investor updated!" },
  investorDeleted: { bn: "ইনভেস্টর মুছে ফেলা হয়েছে!", en: "Investor deleted!" },
  confirmDeleteInvestor: { bn: "এই ইনভেস্টর মুছে ফেলতে চান? সম্পর্কিত বিনিয়োগ ও প্রফিট ইতিহাসও মুছে যাবে।", en: "Are you sure you want to delete this investor? Related investments and profit history will also be removed." },
  investmentDeleted: { bn: "বিনিয়োগ মুছে ফেলা হয়েছে!", en: "Investment deleted!" },
  confirmDeleteInvestment: { bn: "এই বিনিয়োগ মুছে ফেলতে চান?", en: "Are you sure you want to delete this investment?" },
  editInvestment: { bn: "বিনিয়োগ সম্পাদনা", en: "Edit Investment" },
  investmentUpdated: { bn: "বিনিয়োগ আপডেট হয়েছে!", en: "Investment updated!" },
  companyProfits: { bn: "কোম্পানি প্রফিট", en: "Company Profits" },
  profitDistributions: { bn: "প্রফিট বণ্টন", en: "Profit Distributions" },
  referralMappings: { bn: "রেফারেল ম্যাপিং", en: "Referral Mappings" },
  referralLookup: { bn: "রেফারেল লুকআপ", en: "Referral Lookup" },
  backupManagement: { bn: "ব্যাকআপ ম্যানেজমেন্ট", en: "Backup Management" },
  backupSubtitle: { bn: "সিস্টেম ব্যাকআপ পরিচালনা ও ইতিহাস", en: "Manage system backups & history" },
  totalBackups: { bn: "মোট ব্যাকআপ", en: "Total Backups" },
  completedBackups: { bn: "সম্পন্ন", en: "Completed" },
  failedBackups: { bn: "ব্যর্থ", en: "Failed" },
  lastBackup: { bn: "শেষ ব্যাকআপ", en: "Last Backup" },
  noBackup: { bn: "কোনো ব্যাকআপ নেই", en: "No backups yet" },
  manualBackup: { bn: "ম্যানুয়াল ব্যাকআপ", en: "Manual Backup" },
  exportData: { bn: "ডেটা এক্সপোর্ট", en: "Export Data" },
  backupHistory: { bn: "ব্যাকআপ ইতিহাস", en: "Backup History" },
  backupSuccess: { bn: "ব্যাকআপ সফল হয়েছে", en: "Backup completed successfully" },
  backupFailed: { bn: "ব্যাকআপ ব্যর্থ হয়েছে", en: "Backup failed" },
  backupExportSuccess: { bn: "ডেটা এক্সপোর্ট সফল", en: "Data exported successfully" },
  fileName: { bn: "ফাইলের নাম", en: "File Name" },
  statusLabel: { bn: "স্ট্যাটাস", en: "Status" },
  completed: { bn: "সম্পন্ন", en: "Completed" },
  failed: { bn: "ব্যর্থ", en: "Failed" },

  // License
  softwareLicense: { bn: "সফটওয়্যার লাইসেন্স", en: "Software License" },
  licenseDetails: { bn: "লাইসেন্স তথ্য", en: "License Details" },
  licensedTo: { bn: "লাইসেন্সধারী", en: "Licensed To" },
  licenseType: { bn: "লাইসেন্স ধরন", en: "License Type" },
  commercialLicense: { bn: "কমার্শিয়াল লাইসেন্স", en: "Commercial License" },
  issueDate: { bn: "ইস্যু তারিখ", en: "Issue Date" },
  expiryDate: { bn: "মেয়াদ শেষ", en: "Expiry Date" },
  lifetime: { bn: "আজীবন", en: "Lifetime" },
  licenseStatus: { bn: "লাইসেন্স স্ট্যাটাস", en: "License Status" },
  modules: { bn: "মডিউল", en: "Modules" },
  allModules: { bn: "সকল মডিউল", en: "All Modules" },
  developerInfo: { bn: "ডেভেলপার তথ্য", en: "Developer Info" },
  developer: { bn: "ডেভেলপার", en: "Developer" },
  website: { bn: "ওয়েবসাইট", en: "Website" },
  support: { bn: "সাপোর্ট", en: "Support" },
  termsAndConditions: { bn: "শর্তাবলী", en: "Terms & Conditions" },
  licenseTerm1: { bn: "এই সফটওয়্যারটি শুধুমাত্র লাইসেন্সধারীর ব্যবসায়িক ব্যবহারের জন্য।", en: "This software is licensed for the business use of the licensee only." },
  licenseTerm2: { bn: "অনুমতি ছাড়া সফটওয়্যার কপি, বিতরণ বা বিক্রয় করা যাবে না।", en: "Copying, distributing, or selling the software without permission is prohibited." },
  licenseTerm3: { bn: "সফটওয়্যারের সোর্স কোড পরিবর্তন বা রিভার্স ইঞ্জিনিয়ারিং নিষিদ্ধ।", en: "Modifying source code or reverse engineering is prohibited." },
  licenseTerm4: { bn: "ডেটা সুরক্ষা ও ব্যাকআপের দায়িত্ব ব্যবহারকারীর।", en: "Data protection and backup is the responsibility of the user." },
  licenseTerm5: { bn: "লাইসেন্স শর্ত লঙ্ঘন করলে লাইসেন্স বাতিল হতে পারে।", en: "Violation of license terms may result in license revocation." },

  // Unified Pricing
  unifiedPricing: { bn: "প্রাইসিং টেবিল", en: "Pricing Table" },
  unifiedPricingHint: { bn: "ইউনিট + প্রাইস টাইপ + অফার একসাথে সেট করুন", en: "Set unit + price type + offer together" },
  addPricingRow: { bn: "নতুন প্রাইসিং যোগ", en: "Add Pricing Row" },
  priceType: { bn: "প্রাইস টাইপ", en: "Price Type" },
  minQty: { bn: "ন্যূনতম পরিমাণ", en: "Min Qty" },
  priceLabel: { bn: "লেবেল", en: "Label" },
  dealer: { bn: "ডিলার", en: "Dealer" },
  offer: { bn: "অফার", en: "Offer" },
  custom: { bn: "কাস্টম", en: "Custom" },
  addPriceRow: { bn: "নতুন প্রাইস যোগ", en: "Add Price Row" },
  priceTypeSales: { bn: "প্রাইস টাইপ নির্বাচন", en: "Select Price Type" },
  multiUnit: { bn: "মাল্টি ইউনিট", en: "Multi Unit" },
  addMultipleUnit: { bn: "মাল্টিপল ইউনিট যোগ করুন", en: "Add Multiple Unit" },
  addMultiplePrice: { bn: "মাল্টিপল প্রাইস যোগ করুন", en: "Add Multiple Price" },
  addUnitRow: { bn: "নতুন ইউনিট যোগ", en: "Add Unit Row" },
  unitNameEn: { bn: "ইউনিট নাম (EN)", en: "Unit Name (EN)" },
  unitNameBn: { bn: "ইউনিট নাম (বাংলা)", en: "Unit Name (BN)" },
  conversionFactor: { bn: "কনভার্সন ফ্যাক্টর", en: "Conversion Factor" },
  conversionHint: { bn: "১ এই ইউনিট = কত পিস", en: "1 this unit = how many pieces" },
  unitSalePrice: { bn: "ইউনিট বিক্রয়মূল্য", en: "Unit Sale Price" },
  unitPurchasePrice: { bn: "ইউনিট ক্রয়মূল্য", en: "Unit Purchase Price" },
  selectUnit: { bn: "ইউনিট নির্বাচন", en: "Select Unit" },
  baseUnit: { bn: "বেস ইউনিট (পিস)", en: "Base Unit (Piece)" },
  regularPrice: { bn: "নিয়মিত মূল্য", en: "Regular Price" },
  offerPrice: { bn: "অফার মূল্য (৳)", en: "Offer Price (৳)" },
  offerPercent: { bn: "অফার (%)", en: "Offer (%)" },
  offerStart: { bn: "অফার শুরু", en: "Offer Start" },
  offerEnd: { bn: "অফার শেষ", en: "Offer End" },
  offerActive: { bn: "অফার চলছে", en: "Offer Active" },
  baseUnitLabel: { bn: "বেস ইউনিট", en: "Base Unit" },
  cannotDeleteBase: { bn: "বেস ইউনিট মুছা যাবে না", en: "Cannot delete base unit" },

  // SMS Module
  smsModule: { bn: "SMS মডিউল", en: "SMS Module" },
  smsSubtitle: { bn: "SMS পাঠান, ইতিহাস দেখুন এবং গেটওয়ে সেটিংস", en: "Send SMS, view history, and manage gateway settings" },
  smsSend: { bn: "পাঠান", en: "Send" },
  smsGroup: { bn: "গ্রুপ SMS", en: "Group SMS" },
  smsLogs: { bn: "লগ", en: "Logs" },
  smsReportTab: { bn: "রিপোর্ট", en: "Report" },
  smsSettingsTab: { bn: "সেটিংস", en: "Settings" },
  smsCompose: { bn: "SMS লিখুন", en: "Compose SMS" },
  smsCustomerOpt: { bn: "কাস্টমার (ঐচ্ছিক)", en: "Customer (optional)" },
  smsPickCustomer: { bn: "কাস্টমার বাছুন (ফোন অটো-ফিল)", en: "Select customer to auto-fill phone" },
  smsPhoneLabel: { bn: "ফোন (BD: 01XXXXXXXXX)", en: "Phone (BD: 01XXXXXXXXX)" },
  smsMessageLabel: { bn: "মেসেজ", en: "Message" },
  smsMessagePlaceholder: { bn: "এখানে মেসেজ লিখুন", en: "Type your message here" },
  smsSendBtn: { bn: "SMS পাঠান", en: "Send SMS" },
  smsSending: { bn: "পাঠানো হচ্ছে...", en: "Sending..." },
  smsFlushQueue: { bn: "পেন্ডিং কিউ ফ্লাশ", en: "Flush pending queue" },
  smsPlaceholders: { bn: "টেমপ্লেট প্লেসহোল্ডার", en: "Template placeholders" },
  smsRefresh: { bn: "রিফ্রেশ", en: "Refresh" },
  smsAll: { bn: "সব", en: "All" },
  smsSent: { bn: "পাঠানো", en: "Sent" },
  smsPending: { bn: "অপেক্ষমাণ", en: "Pending" },
  smsFailed: { bn: "ব্যর্থ", en: "Failed" },
  smsDate: { bn: "তারিখ", en: "Date" },
  smsType: { bn: "ধরন", en: "Type" },
  smsStatusCol: { bn: "অবস্থা", en: "Status" },
  smsNote: { bn: "নোট", en: "Note" },
  smsNoLogs: { bn: "কোনো SMS লগ নেই", en: "No SMS logs yet" },
  smsLoading: { bn: "লোড হচ্ছে...", en: "Loading..." },
  smsGateway: { bn: "গেটওয়ে", en: "Gateway" },
  smsEnabled: { bn: "SMS চালু", en: "SMS Enabled" },
  smsAutoInvoice: { bn: "অটো: ইনভয়েস তৈরি হলে", en: "Auto-send on Invoice creation" },
  smsAutoPayment: { bn: "অটো: পেমেন্ট পেলে", en: "Auto-send on Payment received" },
  smsAutoDelivery: { bn: "অটো: ডেলিভারি হলে", en: "Auto-send on Delivery" },
  smsAutoDue: { bn: "ডিউ রিমাইন্ডার চালু", en: "Enable Due reminders" },
  smsMinDue: { bn: "রিমাইন্ডারের ন্যূনতম ডিউ পরিমাণ", en: "Minimum due amount for reminder" },
  smsProvider: { bn: "প্রোভাইডার", en: "Provider" },
  smsApiUrl: { bn: "API URL", en: "API URL" },
  smsApiToken: { bn: "API টোকেন", en: "API Token" },
  smsSenderId: { bn: "Sender ID", en: "Sender ID" },
  smsSave: { bn: "সেটিংস সেভ", en: "Save Settings" },
  smsSaving: { bn: "সেভ হচ্ছে...", en: "Saving..." },
  smsTemplates: { bn: "টেমপ্লেট", en: "Templates" },
  smsInvoiceTpl: { bn: "ইনভয়েস টেমপ্লেট", en: "Invoice template" },
  smsPaymentTpl: { bn: "পেমেন্ট টেমপ্লেট", en: "Payment template" },
  smsDueTpl: { bn: "ডিউ রিমাইন্ডার টেমপ্লেট", en: "Due reminder template" },
  smsDeliveryTpl: { bn: "ডেলিভারি টেমপ্লেট", en: "Delivery update template" },
  smsSearch: { bn: "নাম বা ফোন খুঁজুন", en: "Search name or phone" },
  smsWithDue: { bn: "ডিউ আছে", en: "With due" },
  smsNoDue: { bn: "ডিউ নেই", en: "No due" },
  smsSelectFiltered: { bn: "ফিল্টার করা সব নির্বাচন", en: "Select filtered" },
  smsClear: { bn: "ক্লিয়ার", en: "Clear" },
  smsSelected: { bn: "নির্বাচিত", en: "Selected" },
  smsName: { bn: "নাম", en: "Name" },
  smsMobile: { bn: "মোবাইল", en: "Mobile" },
  smsDue: { bn: "ডিউ", en: "Due" },
  smsNoCustomers: { bn: "কোনো কাস্টমার নেই", en: "No customers" },
  smsQueueSend: { bn: "কিউ করে পাঠান", en: "Queue & send" },
  smsSendDueAll: { bn: "সব ডিউ কাস্টমারকে রিমাইন্ডার", en: "Send due reminders to all" },
  smsTotal30d: { bn: "মোট (৩০ দিন)", en: "Total (30d)" },
  smsByType: { bn: "ধরন অনুযায়ী", en: "By type" },
  smsDaily: { bn: "দৈনিক ভলিউম (শেষ ৩০ দিন)", en: "Daily volume (last 30 days)" },
  smsNoData: { bn: "কোনো ডেটা নেই", en: "No data" },
  smsComposeShort: { bn: "লিখুন", en: "Compose" },
  smsAutoInfo: { bn: "সেটিংসে চালু থাকলে নতুন ইনভয়েসের জন্য অটো-SMS চলে। পেন্ডিং এন্ট্রি পাঠানোর সময় বা \"পেন্ডিং কিউ ফ্লাশ\" এ ক্লিক করলে পাঠানো হয়।", en: "Auto-SMS for new invoices runs automatically when enabled in Settings. Pending entries are dispatched on send or by clicking \"Flush pending queue\"." },
  smsTplCustomerName: { bn: "কাস্টমারের নাম", en: "customer name" },
  smsTplOrderNo: { bn: "অর্ডার নম্বর", en: "order number" },
  smsTplAmount: { bn: "মোট পরিমাণ", en: "total amount" },
  smsTplPaid: { bn: "পরিশোধিত পরিমাণ", en: "paid amount" },
  smsTplDue: { bn: "ডিউ পরিমাণ", en: "due amount" },
  smsTplPrevDue: { bn: "পূর্ববর্তী বাকি", en: "previous due" },
  smsTplStatus: { bn: "অর্ডার স্ট্যাটাস", en: "order status" },
  smsCharCount: { bn: "অক্ষর", en: "characters" },
  smsLoadingReport: { bn: "রিপোর্ট লোড হচ্ছে...", en: "Loading report..." },
  smsLoadingSettings: { bn: "সেটিংস লোড হচ্ছে...", en: "Loading settings..." },
  smsTokenPlaceholder: { bn: "SSL Wireless ড্যাশবোর্ড থেকে", en: "from SSL Wireless dashboard" },
  smsSenderPlaceholder: { bn: "যেমন NIYAMAH", en: "e.g. NIYAMAH" },
  smsTplPlaceholdersHint: { bn: "প্লেসহোল্ডার:", en: "Placeholders:" },
  smsGroupPlaceholder: { bn: "হ্যালো {name}, আপনার ডিউ {due}", en: "Hello {name}, your due is {due}" },
  smsDueAllHint: { bn: "ন্যূনতম ডিউ পরিমাণের উপরে থাকা সব কাস্টমারকে রিমাইন্ডার পাঠাও (Due টেমপ্লেট ব্যবহার করবে)।", en: "Send due reminders to all customers above minimum due amount (uses Due template)." },
  smsQueueSendTo: { bn: "কিউ করে পাঠান", en: "Queue & send to" },
};


interface LanguageContextValue {
  lang: Lang;
  toggleLang: () => void;
  tr: (key: string) => string;
}

const LanguageContext = createContext<LanguageContextValue | null>(null);

export function LanguageProvider({ children }: { children: ReactNode }) {
  // Always start with "bn" for SSR consistency, then sync from localStorage
  const [lang, setLang] = useState<Lang>("bn");

  useEffect(() => {
    const stored = localStorage.getItem("app-lang") as Lang | null;
    if (stored && stored !== lang) {
      setLang(stored);
    }
  }, []);

  const toggleLang = useCallback(() => {
    setLang((prev) => {
      const next = prev === "bn" ? "en" : "bn";
      localStorage.setItem("app-lang", next);
      return next;
    });
  }, []);

  const tr = useCallback(
    (key: string) => {
      const entry = t[key];
      if (!entry) return key;
      return entry[lang] || entry.bn || key;
    },
    [lang]
  );

  return (
    <LanguageContext.Provider value={{ lang, toggleLang, tr }}>
      {children}
    </LanguageContext.Provider>
  );
}

export function useLanguage() {
  const ctx = useContext(LanguageContext);
  if (!ctx) throw new Error("useLanguage must be used inside LanguageProvider");
  return ctx;
}
