// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'gallery_localizations.dart';

// ignore_for_file: unnecessary_brace_in_string_interps

/// The translations for Assamese (`as`).
class GalleryLocalizationsAs extends GalleryLocalizations {
  GalleryLocalizationsAs([String locale = 'as']) : super(locale);

  @override
  String githubRepo(Object repoName) {
    return '${repoName} GitHub ৰিপ’জিটৰী';
  }

  @override
  String aboutDialogDescription(Object repoLink) {
    return 'এই এপ্‌টোৰ উৎস ক’ডটো চাবলৈ, অনুগ্ৰহ কৰি ${repoLink}লৈ যাওক।';
  }

  @override
  String get signIn => 'ছাইন ইন কৰক';

  @override
  String get bannerDemoText =>
      'আপোনাৰ পাছৱৰ্ডটো আপোনাৰ আনটো ডিভাইচত আপডে’ট কৰা হৈছে। অনুগ্ৰহ কৰি পুনৰ ছাইন ইন কৰক।';

  @override
  String get bannerDemoResetText => 'বেনাৰখন ৰিছেট কৰক';

  @override
  String get bannerDemoMultipleText => 'একাধিক কাৰ্য';

  @override
  String get bannerDemoLeadingText => 'শীৰ্ষ স্থানত থকা আইকন';

  @override
  String get dismiss => 'অগ্ৰাহ্য কৰক';

  @override
  String get backToGallery => 'গেলাৰীলৈ উভতি যাওক';

  @override
  String get cardsDemoTappable => 'টিপিব পৰা';

  @override
  String get cardsDemoSelectable => 'বাছনি কৰিব পৰা (দীঘলীয়াকৈ টিপক)';

  @override
  String get cardsDemoExplore => 'অন্বেষণ কৰক';

  @override
  String cardsDemoExploreSemantics(Object destinationName) {
    return '${destinationName} অন্বেষণ কৰক';
  }

  @override
  String cardsDemoShareSemantics(Object destinationName) {
    return '${destinationName} শ্বেয়াৰ কৰক';
  }

  @override
  String get cardsDemoTravelDestinationTitle1 =>
      'তামিলনাডুত ফুৰিবলগীয়া শীৰ্ষৰ ১০ খন চহৰ';

  @override
  String get cardsDemoTravelDestinationDescription1 => 'সংখ্যা ১০';

  @override
  String get cardsDemoTravelDestinationCity1 => 'তাঞ্জাভুৰ';

  @override
  String get cardsDemoTravelDestinationLocation1 => 'তাঞ্জাভুৰ, তামিলনাডু';

  @override
  String get cardsDemoTravelDestinationTitle2 => 'দক্ষিণ ভাৰতৰ শিল্পীসকল';

  @override
  String get cardsDemoTravelDestinationDescription2 => 'ৰেচম স্পীনাৰসকল';

  @override
  String get cardsDemoTravelDestinationCity2 => 'চেটিনাদ';

  @override
  String get cardsDemoTravelDestinationLocation2 => 'শিৱগংগা, তামিলনাডু';

  @override
  String get cardsDemoTravelDestinationTitle3 => 'বৃহদেশ্বৰ মন্দিৰ';

  @override
  String get cardsDemoTravelDestinationDescription3 => 'মন্দিৰসমূহ';

  @override
  String get homeHeaderGallery => 'গেলাৰী';

  @override
  String get homeHeaderCategories => 'শিতানসমূহ';

  @override
  String get shrineDescription => 'ফেশ্বনৰ লগত জড়িত এটা খুচৰা এপ্‌';

  @override
  String get fortnightlyDescription =>
      'সমলত বিশেষ গুৰুত্ব আৰোপ কৰা এটা সংবাদ এপ্‌';

  @override
  String get rallyDescription => 'এটা ব্যক্তিগত বিত্তীয় এপ্‌';

  @override
  String get rallyAccountDataChecking => 'চেকিং';

  @override
  String get rallyAccountDataHomeSavings => 'ঘৰৰ সঞ্চয়';

  @override
  String get rallyAccountDataCarSavings => 'গাড়ীৰ সঞ্চয়';

  @override
  String get rallyAccountDataVacation => 'বন্ধৰ দিন';

  @override
  String get rallyAccountDetailDataAnnualPercentageYield => 'বাৰ্ষিক আয়ৰ শতাংশ';

  @override
  String get rallyAccountDetailDataInterestRate => 'সুদৰ হাৰ';

  @override
  String get rallyAccountDetailDataInterestYtd => 'সুদ YTD';

  @override
  String get rallyAccountDetailDataInterestPaidLastYear =>
      'যোৱা বছৰ পৰিশোধ কৰা সুদ';

  @override
  String get rallyAccountDetailDataNextStatement => 'পৰৱর্তী বিবৃতি';

  @override
  String get rallyAccountDetailDataAccountOwner => 'একাউণ্টৰ গৰাকী';

  @override
  String get rallyBillDetailTotalAmount => 'মুঠ পৰিমাণ';

  @override
  String get rallyBillDetailAmountPaid => 'পৰিশোধ কৰা পৰিমাণ';

  @override
  String get rallyBillDetailAmountDue => 'বকেয়া পৰিমাণ';

  @override
  String get rallyBudgetCategoryCoffeeShops => 'কফিৰ দোকানসমূহ';

  @override
  String get rallyBudgetCategoryGroceries => 'গেলামাল';

  @override
  String get rallyBudgetCategoryRestaurants => 'ৰেষ্টুৰেণ্টসমূহ';

  @override
  String get rallyBudgetCategoryClothing => 'পোছাক';

  @override
  String get rallyBudgetDetailTotalCap => 'মুঠ খৰচৰ উচ্চসীমা';

  @override
  String get rallyBudgetDetailAmountUsed => 'ব্যৱহৃত পৰিমাণ';

  @override
  String get rallyBudgetDetailAmountLeft => 'বাকী থকা পৰিমাণ';

  @override
  String get rallySettingsManageAccounts => 'একাউণ্টসমূহ পৰিচালনা কৰক';

  @override
  String get rallySettingsTaxDocuments => 'কৰ সম্পর্কীয় নথিসমূহ';

  @override
  String get rallySettingsPasscodeAndTouchId => 'পাছক’ড আৰু স্পৰ্শ আইডি';

  @override
  String get rallySettingsNotifications => 'জাননীসমূহ';

  @override
  String get rallySettingsPersonalInformation => 'ব্যক্তিগত তথ্য';

  @override
  String get rallySettingsPaperlessSettings => 'কাকতবিহীন ছেটিংসমূহ';

  @override
  String get rallySettingsFindAtms => 'এটিএম বিচাৰক';

  @override
  String get rallySettingsHelp => 'সহায়';

  @override
  String get rallySettingsSignOut => 'ছাইন আউট কৰক';

  @override
  String get rallyAccountTotal => 'সৰ্বমুঠ';

  @override
  String get rallyBillsDue => 'সম্পূৰ্ণ কৰাৰ শেষ তাৰিখ';

  @override
  String get rallyBudgetLeft => 'বাওঁ';

  @override
  String get rallyAccounts => 'একাউণ্টসমূহ';

  @override
  String get rallyBills => 'বিলসমূহ';

  @override
  String get rallyBudgets => 'বাজেটসমূহ';

  @override
  String get rallyAlerts => 'সতৰ্কবার্তাসমূহ';

  @override
  String get rallySeeAll => 'সকলো চাওক';

  @override
  String get rallyFinanceLeft => 'বাওঁ';

  @override
  String get rallyTitleOverview => 'অৱলোকন';

  @override
  String get rallyTitleAccounts => 'একাউণ্টসমূহ';

  @override
  String get rallyTitleBills => 'বিলসমূহ';

  @override
  String get rallyTitleBudgets => 'বাজেটসমূহ';

  @override
  String get rallyTitleSettings => 'ছেটিংসমূহ';

  @override
  String get rallyLoginLoginToRally => 'Rallyত লগ ইন কৰক';

  @override
  String get rallyLoginNoAccount => 'কোনো একাউণ্ট নাই নেকি?';

  @override
  String get rallyLoginSignUp => 'ছাইন আপ কৰক';

  @override
  String get rallyLoginUsername => 'ব্যৱহাৰকাৰীৰ নাম';

  @override
  String get rallyLoginPassword => 'পাছৱৰ্ড';

  @override
  String get rallyLoginLabelLogin => 'লগ ইন কৰক';

  @override
  String get rallyLoginRememberMe => 'মোক মনত ৰাখক';

  @override
  String get rallyLoginButtonLogin => 'লগ ইন কৰক';

  @override
  String rallyAlertsMessageHeadsUpShopping(Object percent) {
    return 'জৰুৰী ঘোষণা, আপুনি এই মাহৰ বাবে আপোনাৰ শ্বপিং বাজেটৰ ${percent} খৰচ কৰিছে।';
  }

  @override
  String rallyAlertsMessageSpentOnRestaurants(Object amount) {
    return 'আপুনি এই সপ্তাহত ৰেষ্টুৰেণ্টত ${amount} খৰচ কৰিছে।';
  }

  @override
  String rallyAlertsMessageATMFees(Object amount) {
    return 'আপুনি এই মাহত এটিএমৰ মাচুলৰ বাবদ ${amount} খৰচ কৰিছে';
  }

  @override
  String rallyAlertsMessageCheckingAccount(Object percent) {
    return 'ভাল কাম কৰিছে! আপোনাৰ চেকিং একাউণ্ট যোৱা মাহতকৈ ${percent} বেছি।';
  }

  @override
  String rallyAlertsMessageUnassignedTransactions(int count) {
    return intl.Intl.pluralLogic(
      count,
      locale: localeName,
      one:
          'আপোনাৰ সম্ভাব্য কৰ কটাৰ পৰিমাণ বৃদ্ধি কৰক! ১ টা আবণ্টন নকৰা লেনদেনত শিতানসমূহ আবণ্টন কৰক।',
      other:
          'আপোনাৰ সম্ভাব্য কৰ কটাৰ পৰিমাণ বৃদ্ধি কৰক! ${count} টা আবণ্টন নকৰা লেনদেনত শিতানসমূহ আবণ্টন কৰক।',
    );
  }

  @override
  String get rallySeeAllAccounts => 'সকলো একাউণ্ট চাওক';

  @override
  String get rallySeeAllBills => 'সকলো বিল চাওক';

  @override
  String get rallySeeAllBudgets => 'সকলো বাজেট চাওক';

  @override
  String rallyAccountAmount(
      Object accountName, Object accountNumber, Object amount) {
    return '${accountName} একাউণ্ট ${accountNumber}ত ${amount} জমা কৰা হৈছে।';
  }

  @override
  String rallyBillAmount(Object billName, Object date, Object amount) {
    return '${billName} বিল ${amount} পৰিশোধ কৰাৰ শেষ তাৰিখ ${date}।';
  }

  @override
  String rallyBudgetAmount(Object budgetName, Object amountUsed,
      Object amountTotal, Object amountLeft) {
    return '${budgetName}ৰ ${amountTotal}ৰ ভিতৰত ${amountUsed} ব্যৱহাৰ কৰা হৈছে, ${amountLeft} বাকী আছে';
  }

  @override
  String get craneDescription => 'এটা ব্যক্তিগতকৃত ভ্ৰমণৰ এপ্‌';

  @override
  String get homeCategoryReference => 'শৈলী আৰু অন্য';

  @override
  String get demoInvalidURL => 'URL প্ৰদর্শন কৰিব পৰা নগ\'ল:';

  @override
  String get demoOptionsTooltip => 'বিকল্পসমূহ';

  @override
  String get demoInfoTooltip => 'তথ্য';

  @override
  String get demoCodeTooltip => 'ডেম’ ক’ড';

  @override
  String get demoDocumentationTooltip => 'API নথি-পত্ৰ';

  @override
  String get demoFullscreenTooltip => 'সম্পূৰ্ণ স্ক্ৰীন';

  @override
  String get demoCodeViewerCopyAll => 'সকলো প্ৰতিলিপি কৰক';

  @override
  String get demoCodeViewerCopiedToClipboardMessage =>
      'ক্লিপব’ৰ্ডলৈ প্ৰতিলিপি কৰা হ’ল।';

  @override
  String demoCodeViewerFailedToCopyToClipboardMessage(Object error) {
    return 'ক্লিপব\'ৰ্ডলৈ প্ৰতিলিপি কৰিব পৰা নগ\'ল: ${error}';
  }

  @override
  String get demoOptionsFeatureTitle => 'বিকল্পসমূহ চাওক';

  @override
  String get demoOptionsFeatureDescription =>
      'এই ডেম’টোৰ বাবে উপলব্ধ বিকল্পসমূহ চাবলৈ ইয়াত টিপক।';

  @override
  String get settingsTitle => 'ছেটিংসমূহ';

  @override
  String get settingsButtonLabel => 'ছেটিংসমূহ';

  @override
  String get settingsButtonCloseLabel => 'ছেটিংসমূহ বন্ধ কৰক';

  @override
  String get settingsSystemDefault => 'ছিষ্টেম';

  @override
  String get settingsTextScaling => 'পাঠ মিলোৱা কাৰ্য';

  @override
  String get settingsTextScalingSmall => 'সৰু';

  @override
  String get settingsTextScalingNormal => 'সাধাৰণ';

  @override
  String get settingsTextScalingLarge => 'ডাঙৰ';

  @override
  String get settingsTextScalingHuge => 'বৃহৎ';

  @override
  String get settingsTextDirection => 'পাঠৰ দিশ';

  @override
  String get settingsTextDirectionLocaleBased => 'ল’কেল ভিত্তিক';

  @override
  String get settingsTextDirectionLTR => 'বাওঁফালৰ পৰা সোঁফাললৈ';

  @override
  String get settingsTextDirectionRTL => 'সোঁফালৰ পৰা বাওঁফাললৈ';

  @override
  String get settingsLocale => 'ল’কেল';

  @override
  String get settingsPlatformMechanics => 'প্লেটফ’ৰ্ম মেকানিকসমূহ';

  @override
  String get settingsTheme => 'থীম';

  @override
  String get settingsDarkTheme => 'গাঢ়';

  @override
  String get settingsLightTheme => 'পাতল';

  @override
  String get settingsSlowMotion => 'মন্থৰ গতি';

  @override
  String get settingsAbout => 'Flutter Galleryৰ বিষয়ে';

  @override
  String get settingsFeedback => 'মতামত পঠিয়াওক';

  @override
  String get settingsAttribution => 'লণ্ডনত TOASTERএ ডিজাইন কৰা';

  @override
  String get demoBottomAppBarTitle => 'তলত অৱস্থিত এপ্‌ বাৰ';

  @override
  String get demoBottomAppBarSubtitle =>
      'নেভিগে’শ্বন আৰু কাৰ্যসমূহ তলত দেখুৱায়';

  @override
  String get demoBottomAppBarDescription =>
      'তলত অৱস্থিত এপ্‌ বাৰে নিম্নাংশত থকা এটা নেভিগে’শ্বন ড্ৰৱাৰ আৰু ওপঙি থকা কাৰ্য বুটামকে ধৰি চাৰিটা কাৰ্যলৈ এক্সেছ প্ৰদান কৰে।';

  @override
  String get bottomAppBarNotch => 'নট্‌চ্চ';

  @override
  String get bottomAppBarPosition => 'ওপঙি থকা কাৰ্য বুটামৰ অৱস্থান';

  @override
  String get bottomAppBarPositionDockedEnd => 'ডক কৰা - শেষত';

  @override
  String get bottomAppBarPositionDockedCenter => 'ডক কৰা - কেন্দ্ৰত';

  @override
  String get bottomAppBarPositionFloatingEnd => 'ওপঙি থকা - শেষত';

  @override
  String get bottomAppBarPositionFloatingCenter => 'ওপঙি থকা - কেন্দ্ৰত';

  @override
  String get demoBannerTitle => 'বেনাৰ';

  @override
  String get demoBannerSubtitle => 'এখন তালিকাৰ ভিতৰত এখন বেনাৰ প্ৰদৰ্শিত কৰা';

  @override
  String get demoBannerDescription =>
      'এখন বেনাৰে কোনো গুৰুত্বপূৰ্ণ, সংক্ষিপ্ত বাৰ্তা দেখুৱায় আৰু ব্যৱহাৰকাৰীসকলৰ বাবে বিষয়টো সম্বোধন কৰাৰ (অথবা বেনাৰখন অগ্ৰাহ্য কৰাৰ) কার্যসমূহ প্ৰদান কৰে। এইটো অগ্ৰাহ্য কৰিবলৈ এটা ব্যৱহাৰকাৰীৰ কাৰ্যৰ আৱশ্যক হয়।';

  @override
  String get demoBottomNavigationTitle => 'একেবাৰে নিম্নাংশৰ নেভিগেশ্বন';

  @override
  String get demoBottomNavigationSubtitle =>
      'ক্ৰছ-ফে’ডিং ভিউসমূহৰ সৈতে একেবাৰে নিম্নাংশৰ নেভিগেশ্বন';

  @override
  String get demoBottomNavigationPersistentLabels => 'অবিৰত লেবেলসমূহ';

  @override
  String get demoBottomNavigationSelectedLabel => 'বাছনি কৰা লেবেল';

  @override
  String get demoBottomNavigationDescription =>
      'একেবাৰে নিম্নাংশৰ নেভিগেশ্বন বাৰসমূহে স্ক্ৰীনখনৰ একেবাৰে নিম্নাংশত তিনিৰ পৰা পাঁচটা লক্ষ্যস্থান প্ৰদর্শন কৰে। প্ৰতিটো লক্ষ্যস্থানক এটা চিহ্ন আৰু এটা ঐচ্ছিক পাঠ লেবেলেৰে প্ৰতিনিধিত্ব কৰা হয়। একেবাৰে নিম্নাংশৰ এটা নেভিগেশ্বন চিহ্ন টিপিলে ব্যৱহাৰকাৰীজনক সেই চিহ্নটোৰ সৈতে জড়িত উচ্চ-স্তৰৰ নেভিগেশ্বনৰ লক্ষ্যস্থানটোলৈ লৈ যোৱা হয়।';

  @override
  String get demoButtonTitle => 'বুটামসমূহ';

  @override
  String get demoButtonSubtitle => 'সমতল, উঠঙা, ৰূপৰেখা আৰু বহুতো';

  @override
  String get demoFlatButtonTitle => 'সমতল বুটাম';

  @override
  String get demoFlatButtonDescription =>
      'এটা সমতল বুটাম টিপিলে চিয়াঁহী পৰাৰ দৰে দৃশ্য প্ৰদর্শন কৰে কিন্তু তুলি নধৰে। সমতল বুটামসমূহ টুলবাৰসমূহত, ডায়ল’গসমূহত আৰু পেডিঙৰ সৈতে ইনলাইনত ব্যৱহাৰ কৰক';

  @override
  String get demoRaisedButtonTitle => 'উঠঙা বুটাম';

  @override
  String get demoRaisedButtonDescription =>
      'উঠঙা বুটামসমূ্হে অধিকাংশ সমতল লে\'আউটত মাত্ৰা যোগ কৰে। সেইবোৰে ব্যস্ত অথবা বহল ঠাইসমূহত কৰা কার্যক অধিক প্ৰধান্য দিয়ে।';

  @override
  String get demoOutlineButtonTitle => 'ৰূপৰেখাৰ বুটাম';

  @override
  String get demoOutlineButtonDescription =>
      'ৰূপৰেখাৰ বুটামসমূহ টিপিলে অস্বচ্ছ আৰু উঠঙা হয়। সেইবোৰক সততে এটা বৈকল্পিক গৌণ কার্য সূচাবলৈ উঠঙা বুটামসমূহৰ সৈতে পেয়াৰ কৰা হয়।';

  @override
  String get demoToggleButtonTitle => 'ট’গলৰ বুটামসমূহ';

  @override
  String get demoToggleButtonDescription =>
      'প্ৰাসংগিক বিকল্পসমূহ একগোট কৰিবলৈ ট’গল বুটামসমূহ ব্যৱহাৰ কৰিব পৰা যায়। প্ৰাসংগিক ট’গল বুটামসমূহৰ গোটসমূহক প্ৰাধান্য দিবলৈ, এটা গোটে এটা সাধাৰণ কণ্টেনাৰ শ্বেয়াৰ কৰা উচিত';

  @override
  String get demoFloatingButtonTitle => 'ওপঙি থকা কার্যৰ বুটাম';

  @override
  String get demoFloatingButtonDescription =>
      'এটা ওপঙা কার্যৰ বুটাম হৈছে এটা বৃত্তাকাৰ আইকন বুটাম, যি এপ্লিকেশ্বনটোত এটা প্ৰাথমিক কার্য প্ৰচাৰ কৰিবলৈ সমলৰ ওপৰত ওপঙি থাকে।';

  @override
  String get demoCardTitle => 'কাৰ্ডসমূহ';

  @override
  String get demoCardSubtitle => 'ঘূৰণীয়া কোণৰ বেছলাইন কাৰ্ডসমূহ';

  @override
  String get demoChipTitle => 'চিপসমূহ';

  @override
  String get demoCardDescription =>
      'এখন কাৰ্ড হৈছে কিছুমান প্ৰাসংগিক তথ্য প্ৰতিনিধিত্ব কৰিবলৈ ব্যৱহাৰ কৰা বস্তুবোৰৰ এখন শ্বীট, যেনে এলবাম, কোনো ভৌগোলিক অৱস্থান, কোনো আহাৰ, যোগাযোগৰ সবিশেষ ইত্যাদি।';

  @override
  String get demoChipSubtitle =>
      'কোনো ইনপুট, বৈশিষ্ট্য অথবা কার্য প্ৰতিনিধিত্ব কৰা সংক্ষিপ্ত উপাদানবোৰ';

  @override
  String get demoActionChipTitle => 'কার্যৰ চিপ';

  @override
  String get demoActionChipDescription =>
      'কার্যৰ চিপসমূহ প্ৰাথমিক সমল সম্পর্কীয় কোনো কার্য সূচনা কৰা বিকল্পসমূহৰ এক ছেট। কার্যৰ চিপসমূহ কোনো ইউআইত পৰিৱৰ্তনশীলভাৱে আৰু প্ৰাসংগিতা অনুসৰি প্ৰদর্শন হোৱা উচিত।';

  @override
  String get demoChoiceChipTitle => 'পচন্দৰ চিপ';

  @override
  String get demoChoiceChipDescription =>
      'পচন্দৰ চিপসমূহে এটা ছেটৰ পৰা এটা একক পচন্দ প্ৰতিনিধিত্ব কৰে। পচন্দৰ চিপসমূহত সমল সম্পর্কীয় বিৱৰণমূলক পাঠ অথবা শিতানসমূহ অন্তর্ভুক্ত হয়।';

  @override
  String get demoFilterChipTitle => 'ফিল্টাৰ চিপ';

  @override
  String get demoFilterChipDescription =>
      'ফিল্টাৰ চিপসমূহে সমল ফিল্টাৰ কৰাৰ উপায় হিচাপে টেগসমূহ অথবা বিৱৰণমূলক শব্দবোৰ ব্যৱহাৰ কৰে।';

  @override
  String get demoInputChipTitle => 'ইনপুট চ্চিপ';

  @override
  String get demoInputChipDescription =>
      'ইনপুট চিপসমূহে এক জটিল তথ্য সংক্ষিপ্ত ৰূপত প্ৰতিনিধিত্ব কৰে, যেনে এটা সত্ত্বা (লোক, ঠাই অথবা বস্তু) অথবা বার্তালাপৰ পাঠ।';

  @override
  String get demoDataTableTitle => 'ডেটাৰ তালিকাসমূহ';

  @override
  String get demoDataTableSubtitle => 'তথ্যৰ শাৰী আৰু স্তম্ভসমূহ';

  @override
  String get demoDataTableDescription =>
      'ডেটাৰ তালিকাসমূহে শাৰী আৰু স্তম্ভবোৰৰ গ্ৰিড দৰে এটা ফর্মেটত তথ্য প্ৰদৰ্শন কৰে। সেইবোৰে সহজে স্কেন কৰিব পৰাকৈ তথ্য সংগঠিত কৰে, যাতে ব্যৱহাৰকাৰীসকলে আৰ্হি আৰু অন্তৰ্নিহিত কথাবোৰ চাব পাৰে।';

  @override
  String get dataTableHeader => 'পৰিপুষ্টি';

  @override
  String get dataTableColumnDessert => 'ডিজার্ট (১ টা পৰিবেশন)';

  @override
  String get dataTableColumnCalories => 'কেল\'ৰি';

  @override
  String get dataTableColumnFat => 'চর্বী (গ্ৰাম)';

  @override
  String get dataTableColumnCarbs => 'শ্বেতসাৰ (গ্ৰাম)';

  @override
  String get dataTableColumnProtein => 'প্ৰ\'টিন (গ্ৰাম)';

  @override
  String get dataTableColumnSodium => 'ছ\'ডিয়াম (মিলিগ্ৰাম)';

  @override
  String get dataTableColumnCalcium => 'কেলচিয়াম (%)';

  @override
  String get dataTableColumnIron => 'আইৰন (%)';

  @override
  String get dataTableRowFrozenYogurt => 'ফ্র’জেন য়\'গাৰ্ট';

  @override
  String get dataTableRowIceCreamSandwich => 'আইচক্ৰীম ছেণ্ডৱিচ্‌';

  @override
  String get dataTableRowEclair => 'ইক্লেয়াৰ';

  @override
  String get dataTableRowCupcake => 'কাপকে’ক';

  @override
  String get dataTableRowGingerbread => 'জিঞ্জাৰব্ৰেড';

  @override
  String get dataTableRowJellyBean => 'জেলী বিন';

  @override
  String get dataTableRowLollipop => 'ল\'লিপ\'প';

  @override
  String get dataTableRowHoneycomb => 'মৌচাক';

  @override
  String get dataTableRowDonut => 'ড’নাট';

  @override
  String get dataTableRowApplePie => 'এপল পাই';

  @override
  String dataTableRowWithSugar(Object value) {
    return 'চেনিযুক্ত ${value}';
  }

  @override
  String dataTableRowWithHoney(Object value) {
    return 'মৌযুক্ত ${value}';
  }

  @override
  String get demoDialogTitle => 'ডায়ল’গসমূহ';

  @override
  String get demoDialogSubtitle => 'সৰল, সতর্কবার্তা আৰু সম্পূর্ণ স্ক্ৰীন';

  @override
  String get demoAlertDialogTitle => 'সতৰ্কবাৰ্তা';

  @override
  String get demoAlertDialogDescription =>
      'এটা সতর্কবার্তাৰ ডায়ল\'গে ব্যৱহাৰকাৰীক স্বীকৃতি আৱশ্যক হোৱা পৰিস্থিতিসমূহৰ বিষয়ে জনায়। এটা সতর্কবার্তাৰ ডায়ল\'গত এটা ঐচ্ছিক শিৰোনাম আৰু এখন কার্যসমূহৰ ঐচ্ছিক সূচী থাকে।';

  @override
  String get demoAlertTitleDialogTitle => 'শিৰোনামৰ সৈতে সতর্কবার্তা';

  @override
  String get demoSimpleDialogTitle => 'সৰল';

  @override
  String get demoSimpleDialogDescription =>
      'এটা সৰল ডায়ল\'গে ব্যৱহাৰকাৰীক বিভিন্ন বিকল্পসমূহৰ পৰা বাছনি কৰাৰ সুবিধা দিয়ে। এটা সৰল ডায়ল\'গৰ বাছনি কৰাৰ বাবে থকা বিকল্পসমূহৰ ওপৰত প্ৰদর্শন কৰা এটা ঐচ্ছিক শিৰোনাম থাকে।';

  @override
  String get demoGridListsTitle => 'গ্ৰিডৰ সূচীসমূহ';

  @override
  String get demoGridListsSubtitle => 'শাৰী আৰু স্তম্ভৰ লেইআউট';

  @override
  String get demoGridListsDescription =>
      'গ্ৰিডৰ সূচীসমূহ প্ৰতিচ্ছবিসমূহৰ দৰে একেধৰণৰ ডেটা উপস্থাপন কৰিবলৈ সকলোতকৈ বেছি উপযুক্ত। এখন গ্ৰিডৰ সূচীৰ প্ৰতিটো বস্তুক এখন টাইল বুলি কোৱা হয়।';

  @override
  String get demoGridListsImageOnlyTitle => 'কেৱল প্ৰতিচ্ছবি';

  @override
  String get demoGridListsHeaderTitle => 'হেডাৰৰ সৈতে';

  @override
  String get demoGridListsFooterTitle => 'ফুটাৰৰ সৈতে';

  @override
  String get demoSlidersTitle => 'শ্লাইডাৰসমূহ';

  @override
  String get demoSlidersSubtitle =>
      'ছোৱাইপ কৰি কোনো মান বাছনি কৰিবৰ বাবে ৱিজেটসমূহ';

  @override
  String get demoSlidersDescription =>
      'শ্লাইডাৰসমূহে এডাল বাৰত মানৰ এক পৰিসৰ দেখুৱায় য’ৰ পৰা ব্যৱহাৰকাৰীসকলে এটা একক মান বাছনি কৰিব পাৰে। সেইবিলাক ভলিউম, উজ্জ্বলতা আদিৰ দৰে ছেটিংসমূহ মিলোৱা অথবা প্ৰতিচ্ছবিৰ ফিল্টাৰ প্ৰয়োগ কৰাৰ বাবে উপযোগী।';

  @override
  String get demoRangeSlidersTitle => 'পৰিসৰৰ শ্লাইডাৰসমূহ';

  @override
  String get demoRangeSlidersDescription =>
      'শ্লাইডাৰসমূহে এডাল বাৰত মানৰ এক পৰিসৰ দেখুৱায়। সেইবিলাকত বাৰডালৰ দুয়োটা প্ৰান্তত আইকন থাকিব পাৰে যি মানৰ এক পৰিসৰ দেখুৱায়। সেইবিলাক ভলিউম, উজ্জ্বলতা আদিৰ দৰে ছেটিংসমূহ মিলোৱা অথবা প্ৰতিচ্ছবিৰ ফিল্টাৰ প্ৰয়োগ কৰাৰ বাবে উপযোগী।';

  @override
  String get demoCustomSlidersTitle => 'কাষ্টম শ্লাইডাৰসমূহ';

  @override
  String get demoCustomSlidersDescription =>
      'শ্লাইডাৰসমূহে এডাল বাৰত মানৰ এক পৰিসৰ দেখুৱায় য’ৰ পৰা ব্যৱহাৰকাৰীসকলে এটা একক মান অথবা মানৰ এক পৰিসৰ বাছনি কৰিব পাৰে। শ্লাইডাৰসমূহত থীম প্ৰয়োগ কৰিব পাৰি আৰু কাষ্টমাইজ কৰিব পাৰি।';

  @override
  String get demoSlidersContinuousWithEditableNumericalValue =>
      'সম্পাদনা কৰিব পৰা সাংখ্যিক মানৰ সৈতে অবিৰত';

  @override
  String get demoSlidersDiscrete => 'পৃথক';

  @override
  String get demoSlidersDiscreteSliderWithCustomTheme =>
      'কাষ্টম থীমযুক্ত পৃথক শ্লাইডাৰ';

  @override
  String get demoSlidersContinuousRangeSliderWithCustomTheme =>
      'কাষ্টম থীমযুক্ত অবিৰত পৰিসৰৰ শ্লাইডাৰ';

  @override
  String get demoSlidersContinuous => 'অবিৰত';

  @override
  String get demoSlidersEditableNumericalValue =>
      'সম্পাদনা কৰিব পৰা সাংখ্যিক মান';

  @override
  String get demoMenuTitle => 'মেনু';

  @override
  String get demoContextMenuTitle => 'প্ৰসংগ মেনু';

  @override
  String get demoSectionedMenuTitle => 'বিভক্ত মেনু';

  @override
  String get demoSimpleMenuTitle => 'সৰল মেনু';

  @override
  String get demoChecklistMenuTitle => 'চেকলিষ্ট মেনু';

  @override
  String get demoMenuSubtitle => 'মেনুৰ বুটামবোৰ আৰু সৰল মেনুবোৰ';

  @override
  String get demoMenuDescription =>
      'এখন মেনুয়ে বাছনিসমূহৰ সূচী এখন সমতলত প্ৰদর্শন কৰে। ব্যৱহাৰকাৰীসকলে এটা বুটাম, কার্য অথবা অন্য নিয়ন্ত্ৰণ ব্যৱহাৰ কৰাৰ সময়ত সেইবোৰ প্ৰদর্শিত হয়।';

  @override
  String get demoMenuItemValueOne => 'মেনুত থকা প্ৰথম বস্তু';

  @override
  String get demoMenuItemValueTwo => 'মেনুত থকা দ্বিতীয় বস্তু';

  @override
  String get demoMenuItemValueThree => 'মেনুত থকা তৃতীয় বস্তু';

  @override
  String get demoMenuOne => 'এক';

  @override
  String get demoMenuTwo => 'দুই';

  @override
  String get demoMenuThree => 'তিনি';

  @override
  String get demoMenuFour => 'চাৰি';

  @override
  String get demoMenuAnItemWithAContextMenuButton =>
      'এখন প্ৰসংগ মেনুৰ সৈতে এটা বস্তু';

  @override
  String get demoMenuContextMenuItemOne => 'প্ৰসংগ মেনুৰ প্ৰথম বস্তু';

  @override
  String get demoMenuADisabledMenuItem => 'অক্ষম কৰা মেনুৰ বস্তু';

  @override
  String get demoMenuContextMenuItemThree => 'প্ৰসংগ মেনুৰ তৃতীয় বস্তু';

  @override
  String get demoMenuAnItemWithASectionedMenu =>
      'এখন বিভক্ত মেনুৰ সৈতে এটা বস্তু';

  @override
  String get demoMenuPreview => 'পূৰ্বদৰ্শন';

  @override
  String get demoMenuShare => 'শ্বেয়াৰ কৰক';

  @override
  String get demoMenuGetLink => 'লিংকটো পাওক';

  @override
  String get demoMenuRemove => 'আঁতৰাওক';

  @override
  String demoMenuSelected(Object value) {
    return 'এইটো বাছনি কৰা হৈছে: ${value}';
  }

  @override
  String demoMenuChecked(Object value) {
    return 'এইটো পৰীক্ষা কৰা হৈছে: ${value}';
  }

  @override
  String get demoMenuAnItemWithASimpleMenu => 'এখন সৰল মেনুৰ সৈতে এটা বস্তু';

  @override
  String get demoMenuAnItemWithAChecklistMenu =>
      'এখন চেকলিষ্ট মেনুৰ সৈতে এটা বস্তু';

  @override
  String get demoFullscreenDialogTitle => 'সম্পূৰ্ণ স্ক্ৰীন';

  @override
  String get demoFullscreenDialogDescription =>
      'fullscreenDialog সম্পদে পৃষ্ঠাখন সম্পূর্ণ স্ক্ৰীনৰ ম’ডেল ডায়ল\'গ হয়নে নহয় সেয়া নির্দিষ্ট কৰে';

  @override
  String get demoCupertinoActivityIndicatorTitle => 'কাৰ্যকলাপৰ সূচক';

  @override
  String get demoCupertinoActivityIndicatorSubtitle =>
      'iOS-শৈলীৰ কাৰ্যকলাপৰ সূচকসমূহ';

  @override
  String get demoCupertinoActivityIndicatorDescription =>
      'এটা iOS-শৈলীৰ কাৰ্যকলাপৰ সূচক যি ঘড়ীৰ কাঁটাৰ দিশত ঘূৰে।';

  @override
  String get demoCupertinoButtonsTitle => 'বুটামসমূহ';

  @override
  String get demoCupertinoButtonsSubtitle => 'iOS-শৈলীৰ বুটামসমূহ';

  @override
  String get demoCupertinoButtonsDescription =>
      'এটা iOS-শৈলীৰ বুটাম। এইটো পাঠত আৰু/অথবা এখন আইকন হিচাপে থাকে, যিটোৱে স্পর্শ কৰিলে পোহৰৰ পৰিমাণ সলনি কৰি তোলে। ঐচ্ছিকভাৱে কোনো নেপথ্য থাকিব পাৰে।';

  @override
  String get demoCupertinoAlertsTitle => 'সতৰ্কবার্তাসমূহ';

  @override
  String get demoCupertinoAlertsSubtitle => 'iOS-শৈলীৰ সতর্কবার্তাৰ ডায়ল’গসমূহ';

  @override
  String get demoCupertinoAlertTitle => 'সতৰ্কবাৰ্তা';

  @override
  String get demoCupertinoAlertDescription =>
      'এটা সতর্কবার্তাৰ ডায়ল\'গে ব্যৱহাৰকাৰীক স্বীকৃতি আৱশ্যক হোৱা পৰিস্থিতিসমূহৰ বিষয়ে জনায়। এটা সতর্কবার্তাৰ ডায়ল\'গত এটা ঐচ্ছিক শিৰোনাম, ঐচ্ছিক সমল আৰু এখন কার্যসমূহৰ ঐচ্ছিক সূচী থাকে। শিৰোনামটো সমলৰ ওপৰত প্ৰদর্শন কৰা হয় আৰু কার্যসমূহ সমলৰ তলত প্ৰদর্শন কৰা হয়।';

  @override
  String get demoCupertinoAlertWithTitleTitle => 'শিৰোনামৰ সৈতে সতর্কবার্তা';

  @override
  String get demoCupertinoAlertButtonsTitle => 'সতর্কবার্তাৰ সৈতে বুটামসমূহ';

  @override
  String get demoCupertinoAlertButtonsOnlyTitle =>
      'কেৱল সতর্কবার্তাৰ বুটামসমূহ';

  @override
  String get demoCupertinoActionSheetTitle => 'কার্যৰ শ্বীট';

  @override
  String get demoCupertinoActionSheetDescription =>
      'এখন কার্যৰ শ্বীট হৈছে সতর্কবার্তাৰ এক নির্দিষ্ট শৈলী, যি ব্যৱহাৰকাৰীক প্ৰাসংগিক দুটা ছেট অথবা তাতকৈ অধিক বাছনি কৰিব পৰা বিকল্পৰ সৈতে আগবঢ়ায়। এখন কার্য শ্বীটৰ এটা শিৰোনাম, এটা অতিৰিক্ত বার্তা আৰু এখন কার্যসমূহৰ সূচী থাকিব পাৰে।';

  @override
  String get demoCupertinoNavigationBarTitle => 'নেভিগেশ্বন বাৰ';

  @override
  String get demoCupertinoNavigationBarSubtitle => 'iOS-শৈলীৰ নেভিগেশ্বন বাৰ';

  @override
  String get demoCupertinoNavigationBarDescription =>
      'এডাল iOS-শৈলীৰ নেভিগেশ্বন বাৰ নেভিগেশ্বন বাৰৰ সৈতে এডাল টুলবাৰ য\'ত টুলবাৰৰ মাজত সীমিতভাৱে এটা পৃষ্ঠাৰ শিৰোনাম অন্তর্ভুক্ত হয়।';

  @override
  String get demoCupertinoPickerTitle => 'বাছনি কৰোঁতাসকল';

  @override
  String get demoCupertinoPickerSubtitle =>
      'iOS-শৈলীৰ তাৰিখ আৰু সময় বাছনি কৰোঁতা';

  @override
  String get demoCupertinoPickerDescription =>
      'কোনো iOS-শৈলী বাছনি কৰোঁতা ৱিজেট যিটো তাৰিখ, সময় অথবা তাৰিখ আৰু সময় দুয়োটা বাছনি কৰিবলৈ ব্যৱহাৰ কৰিব পাৰি।';

  @override
  String get demoCupertinoPickerTimer => 'টাইমাৰ';

  @override
  String get demoCupertinoPickerDate => 'তাৰিখ';

  @override
  String get demoCupertinoPickerTime => 'সময়';

  @override
  String get demoCupertinoPickerDateTime => 'তাৰিখ আৰু সময়';

  @override
  String get demoCupertinoPullToRefreshTitle => 'ৰিফ্ৰেশ্ব কৰিবলৈ টনা';

  @override
  String get demoCupertinoPullToRefreshSubtitle =>
      'iOS-শৈলীৰ ৰিফ্ৰেশ্ব কৰিবলৈ টনাৰ নিয়ন্ত্ৰণ';

  @override
  String get demoCupertinoPullToRefreshDescription =>
      'iOS-শৈলীৰ ৰিফ্ৰেশ্ব কৰিবলৈ টনাৰ নিয়ন্ত্ৰণ কার্যকৰী কৰা এটা ৱিজেট।';

  @override
  String get demoCupertinoSegmentedControlTitle => 'বিভাজিত নিয়ন্ত্ৰণ';

  @override
  String get demoCupertinoSegmentedControlSubtitle =>
      'iOS-শৈলীৰ বিভাজিত নিয়ন্ত্ৰণ';

  @override
  String get demoCupertinoSegmentedControlDescription =>
      'এটা ব্যৱহাৰ কৰাৰ সময়ত অন্য এটা ব্যৱহাৰ কৰিব নোৱাৰা বিকল্পসমূহৰ মাজৰ পৰা বাছনি কৰিবলৈ ব্যৱহাৰ কৰা হয়। বিভাজিত নিয়ন্ত্ৰণত এটা বিকল্প বাছনি কৰিলে, বিভাজিত নিয়ন্ত্ৰণত অন্য বিকল্পসমূহ বাছনি কৰিব নোৱাৰা হয়।';

  @override
  String get demoCupertinoSliderTitle => 'শ্লাইডাৰ';

  @override
  String get demoCupertinoSliderSubtitle => 'iOS-শৈলীৰ শ্লাইডাৰ';

  @override
  String get demoCupertinoSliderDescription =>
      'অবিৰত অথবা বিৰত মানসমূহৰ এটা ছেটৰ পৰা বাছনি কৰিবলৈ এটা শ্লাইডাৰ ব্যৱহাৰ কৰিব পৰা যায়।';

  @override
  String demoCupertinoSliderContinuous(Object value) {
    return 'অবিৰত: ${value}';
  }

  @override
  String demoCupertinoSliderDiscrete(Object value) {
    return 'বিৰত: ${value}';
  }

  @override
  String get demoCupertinoSwitchSubtitle => 'iOS-শৈলীৰ ছুইচ্ছ';

  @override
  String get demoCupertinoSwitchDescription =>
      'এটা একক ছেটিঙৰ অন/অফ স্থিতি টগ\'ল কৰিবলৈ এটা ছুইচ্ছ ব্যৱহাৰ কৰা হয়।';

  @override
  String get demoCupertinoTabBarTitle => 'টেব বাৰ';

  @override
  String get demoCupertinoTabBarSubtitle => 'iOS-শৈলীৰ বুটামৰ টেবৰ দণ্ড';

  @override
  String get demoCupertinoTabBarDescription =>
      'এটা iOS-শৈলীৰ বুটাম নেভিগেশ্বন টেবৰ দণ্ড। একাধিক টেব প্ৰদর্শন কৰে, য\'ত ডিফ\'ল্ট হিচাপে প্ৰথম টেবটো সক্ৰিয় হৈ থাকে।';

  @override
  String get cupertinoTabBarHomeTab => 'গৃহ';

  @override
  String get cupertinoTabBarChatTab => 'চাট';

  @override
  String get cupertinoTabBarProfileTab => 'প্ৰ’ফাইল';

  @override
  String get demoCupertinoTextFieldTitle => 'পাঠৰ ক্ষেত্ৰসমূহ';

  @override
  String get demoCupertinoTextFieldSubtitle => 'iOS-শৈলীৰ পাঠৰ ক্ষেত্ৰসমূহ';

  @override
  String get demoCupertinoTextFieldDescription =>
      'এখন পাঠৰ ক্ষেত্ৰই ব্যৱহাৰকাৰীক এখন হাৰ্ডৱেৰ কীব\'ৰ্ড অথবা অনস্ক্ৰীন কীব\'ৰ্ডৰ দ্বাৰা পাঠ অন্তর্ভুক্ত কৰিবলৈ দিয়ে।';

  @override
  String get demoCupertinoTextFieldPIN => 'পিন';

  @override
  String get demoMotionTitle => 'Motion';

  @override
  String get demoMotionSubtitle => 'All of the predefined transition patterns';

  @override
  String get demoContainerTransformTitle => 'Container Transform';

  @override
  String get demoContainerTransformDescription =>
      'The container transform pattern is designed for transitions between UI elements that include a container. This pattern creates a visible connection between two UI elements';

  @override
  String get demoContainerTransformModalBottomSheetTitle => 'Fade mode';

  @override
  String get demoContainerTransformTypeFade => 'FADE';

  @override
  String get demoContainerTransformTypeFadeThrough => 'FADE THROUGH';

  @override
  String get demoMotionPlaceholderTitle => 'Title';

  @override
  String get demoMotionPlaceholderSubtitle => 'Secondary text';

  @override
  String get demoMotionSmallPlaceholderSubtitle => 'Secondary';

  @override
  String get demoMotionDetailsPageTitle => 'Details Page';

  @override
  String get demoMotionListTileTitle => 'List item';

  @override
  String get demoSharedAxisDescription =>
      'The shared axis pattern is used for transitions between the UI elements that have a spatial or navigational relationship. This pattern uses a shared transformation on the x, y, or z axis to reinforce the relationship between elements.';

  @override
  String get demoSharedXAxisTitle => 'Shared x-axis';

  @override
  String get demoSharedXAxisBackButtonText => 'BACK';

  @override
  String get demoSharedXAxisNextButtonText => 'NEXT';

  @override
  String get demoSharedXAxisCoursePageTitle => 'Streamline your courses';

  @override
  String get demoSharedXAxisCoursePageSubtitle =>
      'Bundled categories appear as groups in your feed. You can always change this later.';

  @override
  String get demoSharedXAxisArtsAndCraftsCourseTitle => 'Arts & Crafts';

  @override
  String get demoSharedXAxisBusinessCourseTitle => 'Business';

  @override
  String get demoSharedXAxisIllustrationCourseTitle => 'Illustration';

  @override
  String get demoSharedXAxisDesignCourseTitle => 'Design';

  @override
  String get demoSharedXAxisCulinaryCourseTitle => 'Culinary';

  @override
  String get demoSharedXAxisBundledCourseSubtitle => 'Bundled';

  @override
  String get demoSharedXAxisIndividualCourseSubtitle => 'Shown Individually';

  @override
  String get demoSharedXAxisSignInWelcomeText => 'Hi David Park';

  @override
  String get demoSharedXAxisSignInSubtitleText => 'Sign in with your account';

  @override
  String get demoSharedXAxisSignInTextFieldLabel => 'Email or phone number';

  @override
  String get demoSharedXAxisForgotEmailButtonText => 'FORGOT EMAIL?';

  @override
  String get demoSharedXAxisCreateAccountButtonText => 'CREATE ACCOUNT';

  @override
  String get demoSharedYAxisTitle => 'Shared y-axis';

  @override
  String get demoSharedYAxisAlbumCount => '268 albums';

  @override
  String get demoSharedYAxisAlphabeticalSortTitle => 'A-Z';

  @override
  String get demoSharedYAxisRecentSortTitle => 'Recently played';

  @override
  String get demoSharedYAxisAlbumTileTitle => 'Album';

  @override
  String get demoSharedYAxisAlbumTileSubtitle => 'Artist';

  @override
  String get demoSharedYAxisAlbumTileDurationUnit => 'min';

  @override
  String get demoSharedZAxisTitle => 'Shared z-axis';

  @override
  String get demoSharedZAxisSettingsPageTitle => 'Settings';

  @override
  String get demoSharedZAxisBurgerRecipeTitle => 'Burger';

  @override
  String get demoSharedZAxisBurgerRecipeDescription => 'Burger recipe';

  @override
  String get demoSharedZAxisSandwichRecipeTitle => 'Sandwich';

  @override
  String get demoSharedZAxisSandwichRecipeDescription => 'Sandwich recipe';

  @override
  String get demoSharedZAxisDessertRecipeTitle => 'Dessert';

  @override
  String get demoSharedZAxisDessertRecipeDescription => 'Dessert recipe';

  @override
  String get demoSharedZAxisShrimpPlateRecipeTitle => 'Shrimp';

  @override
  String get demoSharedZAxisShrimpPlateRecipeDescription =>
      'Shrimp plate recipe';

  @override
  String get demoSharedZAxisCrabPlateRecipeTitle => 'Crab';

  @override
  String get demoSharedZAxisCrabPlateRecipeDescription => 'Crab plate recipe';

  @override
  String get demoSharedZAxisBeefSandwichRecipeTitle => 'Beef Sandwich';

  @override
  String get demoSharedZAxisBeefSandwichRecipeDescription =>
      'Beef Sandwich recipe';

  @override
  String get demoSharedZAxisSavedRecipesListTitle => 'Saved Recipes';

  @override
  String get demoSharedZAxisProfileSettingLabel => 'Profile';

  @override
  String get demoSharedZAxisNotificationSettingLabel => 'Notifications';

  @override
  String get demoSharedZAxisPrivacySettingLabel => 'Privacy';

  @override
  String get demoSharedZAxisHelpSettingLabel => 'Help';

  @override
  String get demoFadeThroughTitle => 'Fade through';

  @override
  String get demoFadeThroughDescription =>
      'The fade through pattern is used for transitions between UI elements that do not have a strong relationship to each other.';

  @override
  String get demoFadeThroughAlbumsDestination => 'Albums';

  @override
  String get demoFadeThroughPhotosDestination => 'Photos';

  @override
  String get demoFadeThroughSearchDestination => 'Search';

  @override
  String get demoFadeThroughTextPlaceholder => '123 photos';

  @override
  String get demoFadeScaleTitle => 'Fade';

  @override
  String get demoFadeScaleDescription =>
      'The fade pattern is used for UI elements that enter or exit within the bounds of the screen, such as a dialog that fades in the center of the screen.';

  @override
  String get demoFadeScaleShowAlertDialogButton => 'SHOW MODAL';

  @override
  String get demoFadeScaleShowFabButton => 'SHOW FAB';

  @override
  String get demoFadeScaleHideFabButton => 'HIDE FAB';

  @override
  String get demoFadeScaleAlertDialogHeader => 'Alert Dialog';

  @override
  String get demoFadeScaleAlertDialogCancelButton => 'CANCEL';

  @override
  String get demoFadeScaleAlertDialogDiscardButton => 'DISCARD';

  @override
  String get demoColorsTitle => 'ৰঙবোৰ';

  @override
  String get demoColorsSubtitle => 'পূৰ্বনিৰ্ধাৰিত সকলোবোৰ ৰং';

  @override
  String get demoColorsDescription =>
      'Material Designৰ ৰঙৰ পেলেট প্ৰতিনিধিত্ব কৰা ৰং আৰু ৰঙৰ অপৰিৱর্তিত কণিকাসমূহ।';

  @override
  String get demoTypographyTitle => 'টাইপ’গ্ৰাফী';

  @override
  String get demoTypographySubtitle => 'পূর্বনির্ধাৰিত সকলো পাঠৰ শৈলী';

  @override
  String get demoTypographyDescription =>
      'Material Designত পোৱা বিভিন্ন টাইপ’গ্ৰাফীকেল শৈলীৰ সংজ্ঞাসমূহ।';

  @override
  String get demo2dTransformationsTitle => '2D ৰূপান্তৰণসমূহ';

  @override
  String get demo2dTransformationsSubtitle => 'পেন, জুম, ৰ’টেট';

  @override
  String get demo2dTransformationsDescription =>
      'টাইলসমূহ সম্পাদনা কৰিবলৈ টিপক আৰু দৃশ্যটো সকলোফালে চাবলৈ নিৰ্দেশসমূহ ব্যৱহাৰ কৰক। পেন কৰিবলৈ টানি আনি এৰক, জুম কৰিবলৈ পিঞ্চ কৰক, দুটা আঙুলিৰে ৰ’টেট কৰক। আৰম্ভণিৰ দিশটোলৈ উভতি যাবলৈ ৰিছেট বুটামটো টিপক।';

  @override
  String get demo2dTransformationsResetTooltip => 'ৰূপান্তৰণসমূহ ৰিছেট কৰক';

  @override
  String get demo2dTransformationsEditTooltip => 'টাইল সম্পাদনা কৰক';

  @override
  String get buttonText => 'বুটাম';

  @override
  String get demoBottomSheetTitle => 'একেবাৰে নিম্নাংশৰ শ্বীট';

  @override
  String get demoBottomSheetSubtitle =>
      'একেবাৰে নিম্নাংশৰ অবিৰত আৰু ম’ডাল শ্বীটসমূহ';

  @override
  String get demoBottomSheetPersistentTitle => 'একেবাৰে নিম্নাংশৰ অবিৰত শ্বীট';

  @override
  String get demoBottomSheetPersistentDescription =>
      'এখন একেবাৰে নিম্নাংশৰ অবিৰত শ্বীটে এপ্‌টোৰ প্ৰাথমিক সমলক পৰিপূৰণ কৰা তথ্য দেখুৱায়। ব্যৱহাৰকাৰীয়ে এপ্‌টোৰ অন্য অংশসমূহ ব্যৱহাৰ কৰাৰ সময়তো একেবাৰে নিম্নাংশৰ অবিৰত শ্বীটখন দৃশ্যমান হৈ থাকে।';

  @override
  String get demoBottomSheetModalTitle => 'একেবাৰে নিম্নাংশৰ ম’ডেল শ্বীট';

  @override
  String get demoBottomSheetModalDescription =>
      'এখন একেবাৰে নিম্নাংশৰ ম’ডাল শ্বীট হৈছে এখন মেনু অথবা এটা ডায়ল’গৰ এক বিকল্প আৰু ই ব্যৱহাৰকাৰীজনক এপ্‌টোৰ বাকী অংশ ব্যৱহাৰ কৰাত বাধা দিয়ে।';

  @override
  String get demoBottomSheetAddLabel => 'যোগ কৰক';

  @override
  String get demoBottomSheetButtonText => 'একেবাৰে নিম্নাংশৰ শ্বীটখন দেখুৱাওক';

  @override
  String get demoBottomSheetHeader => 'হেডাৰ';

  @override
  String demoBottomSheetItem(Object value) {
    return 'বস্তু ${value}';
  }

  @override
  String get demoListsTitle => 'সূচীসমূহ';

  @override
  String get demoListsSubtitle => 'স্ক্ৰ’লিং সূচীৰ লে’আউটসমূহ';

  @override
  String get demoListsDescription =>
      'এটা একক স্থিৰ উচ্চতাৰ শাৰী য’ত সচৰাচৰ কিছুমান পাঠ তথা লীডিং অথবা ট্ৰেইলিং আইকন থাকে।';

  @override
  String get demoOneLineListsTitle => 'এটা শাৰী';

  @override
  String get demoTwoLineListsTitle => 'দুটা শাৰী';

  @override
  String get demoListsSecondary => 'গৌণ পাঠ';

  @override
  String get demoProgressIndicatorTitle => 'অগ্ৰগতিৰ সূচক';

  @override
  String get demoProgressIndicatorSubtitle => 'ৰৈখিক, চক্ৰাকাৰ, অনিৰ্ধাৰিত';

  @override
  String get demoCircularProgressIndicatorTitle => 'চক্ৰাকাৰ অগ্ৰগতিৰ সূচক';

  @override
  String get demoCircularProgressIndicatorDescription =>
      'এটা ভৌতিক আৰ্হিৰ চক্ৰাকাৰ সূচক যি এপ্লিকেশ্বনটো ব্যস্ত হৈ থকাটো সূচাবলৈ ঘূৰি থাকে।';

  @override
  String get demoLinearProgressIndicatorTitle => 'ৰৈখিক অগ্ৰগতি সূচক';

  @override
  String get demoLinearProgressIndicatorDescription =>
      'এটা ভৌতিক আৰ্হিৰ চক্ৰাকাৰ সূচক যাক অগ্ৰগতি সূচক হিচাপেও জনা যায়।';

  @override
  String get demoPickersTitle => 'বাছনি কৰোঁতাসকল';

  @override
  String get demoPickersSubtitle => 'তাৰিখ আৰু সময়ৰ বাছনি';

  @override
  String get demoDatePickerTitle => 'তাৰিখ বাছনি কৰোঁতা';

  @override
  String get demoDatePickerDescription =>
      'এটা বস্তুৰ ডিজাইনৰ তাৰিখ বাছনি কৰোঁতা থকা কোনো ডায়ল\'গ প্ৰদৰ্শন কৰে।';

  @override
  String get demoTimePickerTitle => 'সময় বাছনি কৰোঁতা';

  @override
  String get demoTimePickerDescription =>
      'এটা বস্তুৰ ডিজাইনৰ সময় বাছনি কৰোঁতা থকা কোনো ডায়ল\'গ প্ৰদৰ্শন কৰে।';

  @override
  String get demoPickersShowPicker => 'বাছনি কৰোঁতা প্ৰদৰ্শন কৰক';

  @override
  String get demoTabsTitle => 'টেবসমূহ';

  @override
  String get demoTabsScrollingTitle => 'স্ক্ৰ’ল হোৱা';

  @override
  String get demoTabsNonScrollingTitle => 'স্ক্ৰ’ল নোহোৱা';

  @override
  String get demoTabsSubtitle =>
      'স্বতন্ত্ৰভাৱে স্ক্ৰ’ল কৰিবপৰা ভিউসমূহৰ সৈতে টেবসমূহ';

  @override
  String get demoTabsDescription =>
      'টেবসমূহে সমলক বিভিন্ন স্ক্ৰীনসমূহত, ডেটা ছেটসমূহত আৰু অন্য ভাব-বিনিময়সমূহত সংগঠিত কৰে।';

  @override
  String get demoSnackbarsTitle => 'স্নেকবাৰসমূহ';

  @override
  String get demoSnackbarsSubtitle =>
      'স্নেকবাৰসমূহে স্ক্ৰীনখনৰ একেবাৰে তলত বার্তাসমূহ প্ৰদর্শন কৰে';

  @override
  String get demoSnackbarsDescription =>
      'স্নেকবাৰসমূহে ব্যৱহাৰকাৰীসকলক কোনো এটা এপে সম্পাদন কৰা অথবা কৰিব ল\'গা কোনো প্ৰক্ৰিয়াৰ সম্পর্কে জনায়। সেইবোৰ স্ক্ৰীনখনৰ একেবাৰে তলৰফালে অস্থায়ীভাৱে প্ৰদর্শিত হয়। সেইবোৰে ব্যৱহাৰকাৰীগৰাকীৰ অভিজ্ঞতাত ব্যাঘাত জন্মোৱা উচিত নহয় আৰু সেইবোৰ অদৃশ্য হ\'বৰ বাবে ব্যৱহাৰকাৰীৰ ইনপুটৰ আৱশ্যক নহয়।';

  @override
  String get demoSnackbarsButtonLabel => 'এডাল স্নেকবাৰ দেখুৱাওক';

  @override
  String get demoSnackbarsText => 'এইডাল এডাল স্নেকবাৰ।';

  @override
  String get demoSnackbarsActionButtonLabel => 'একশ্বন';

  @override
  String get demoSnackbarsAction => 'আপুনি স্নেকবাৰ কার্যটো টিপিছে।';

  @override
  String get demoSelectionControlsTitle => 'বাছনি নিয়ন্ত্ৰণসমূহ';

  @override
  String get demoSelectionControlsSubtitle => 'চেকবাকচ, ৰেডিঅ’ বুটাম আৰু ছুইচ';

  @override
  String get demoSelectionControlsCheckboxTitle => 'চেকবাকচ';

  @override
  String get demoSelectionControlsCheckboxDescription =>
      'চেকবাকচসমূহে এটা ছেটৰ পৰা একাধিক বিকল্প বাছনি কৰিবলৈ ব্যৱহাৰকাৰীক অনুমতি দিয়ে। এটা সাধাৰণ চেকবাকচৰ মান সঁচা অথবা মিছা হ’ব পাৰে আৰু এটা ট্ৰাইষ্টেট চেকবাকচৰ কোনো মান নাথাকিবও পাৰে।';

  @override
  String get demoSelectionControlsRadioTitle => 'ৰেডিঅ’';

  @override
  String get demoSelectionControlsRadioDescription =>
      'ৰেডিঅ’ বুটামসমূহে এটা ছেটৰ পৰা এটা বিকল্প বাছনি কৰিবলৈ ব্যৱহাৰকাৰীক অনুমতি দিয়ে। যদি আপুনি ভাবে যে ব্যৱহাৰকাৰীয়ে উপলব্ধ সকলো বিকল্প এটাৰ কাষত অন্য এটাকৈ দেখা প্ৰয়োজন তেনে ক্ষেত্ৰত কেৱল এটা বাছনি কৰিবলৈ ৰেডিঅ’ বুটামসমূহ ব্যৱহাৰ কৰক।';

  @override
  String get demoSelectionControlsSwitchTitle => 'সলনি কৰক';

  @override
  String get demoSelectionControlsSwitchDescription =>
      'এটা একক ছেটিঙৰ বিকল্প অন/অফ ছুইচসমূহে ট’গল কৰে। ছুইচটোৱে নিয়ন্ত্ৰণ কৰা বিকল্পটো তথা সেয়া কি স্থিতিত আছে তাক আনুষংগিক ইনলাইন লেবেলটোৱে স্পষ্ট কৰা উচিত।';

  @override
  String get demoBottomTextFieldsTitle => 'পাঠৰ ক্ষেত্ৰসমূহ';

  @override
  String get demoTextFieldTitle => 'পাঠৰ ক্ষেত্ৰসমূহ';

  @override
  String get demoTextFieldSubtitle =>
      'সম্পাদনা কৰিব পৰা পাঠ আৰু সংখ্যাসমূহৰ একক শাৰী';

  @override
  String get demoTextFieldDescription =>
      'পাঠ ক্ষেত্ৰসমূহে ব্যৱহাৰকাৰীসকলক এটা ইউআইত পাঠ ভৰাবলৈ দিয়ে। সেইবোৰ সাধাৰণতে ফর্ম আৰু ডায়ল’গসমূহত দেখা পোৱা যায়।';

  @override
  String get demoTextFieldShowPasswordLabel => 'পাছৱৰ্ডটো দেখুৱাওক';

  @override
  String get demoTextFieldHidePasswordLabel => 'পাছৱৰ্ডটো লুকুৱাওক';

  @override
  String get demoTextFieldFormErrors =>
      'দাখিল কৰাৰ আগতে অনুগ্ৰহ কৰি ৰঙা হৈ থকা আসোঁৱাহসমূহ সমাধান কৰক।';

  @override
  String get demoTextFieldNameRequired => 'নামটো আৱশ্যক।';

  @override
  String get demoTextFieldOnlyAlphabeticalChars =>
      'অনুগ্ৰহ কৰি কেৱল বৰ্ণসমূহ দিয়ক।';

  @override
  String get demoTextFieldEnterUSPhoneNumber =>
      '(###) ###-#### - এটা আমেৰিকা যুক্তৰাষ্ট্ৰৰ ফ’ন নম্বৰ দিয়ক।';

  @override
  String get demoTextFieldEnterPassword => 'অনুগ্ৰহ কৰি এটা পাছৱর্ড দিয়ক।';

  @override
  String get demoTextFieldPasswordsDoNotMatch => 'পাছৱর্ডসমূহ মিলা নাই';

  @override
  String get demoTextFieldWhatDoPeopleCallYou => 'মানুহে আপোনাক কি বুলি মাতে?';

  @override
  String get demoTextFieldNameField => 'নাম*';

  @override
  String get demoTextFieldWhereCanWeReachYou => 'আপোনাৰ ফ’ন নম্বৰটো কি?';

  @override
  String get demoTextFieldPhoneNumber => 'ফ’ন নম্বৰ*';

  @override
  String get demoTextFieldYourEmailAddress => 'আপোনাৰ ইমেইল ঠিকনা';

  @override
  String get demoTextFieldEmail => 'ইমেইল';

  @override
  String get demoTextFieldTellUsAboutYourself =>
      'আমাক আপোনাৰ বিষয়ে কওক (উদাহৰণস্বৰূপে, আপুনি কি কৰে অথবা আপোনাৰ কৰি ভাল পোৱা কামবোৰৰ বিষয়ে লিখক)';

  @override
  String get demoTextFieldKeepItShort =>
      'এইটো দীঘলীয়া নকৰিব, এইটো এটা ডেম’হে।';

  @override
  String get demoTextFieldLifeStory => 'জীৱন কাহিনী';

  @override
  String get demoTextFieldSalary => 'দৰমহা';

  @override
  String get demoTextFieldUSD => 'ইউএছডি';

  @override
  String get demoTextFieldNoMoreThan => '৮টাতকৈ অধিক বর্ণ নহয়।';

  @override
  String get demoTextFieldPassword => 'পাছৱৰ্ড*';

  @override
  String get demoTextFieldRetypePassword => 'পাছৱৰ্ডটো পুনৰ টাইপ কৰক*';

  @override
  String get demoTextFieldSubmit => 'দাখিল কৰক';

  @override
  String demoTextFieldNameHasPhoneNumber(Object name, Object phoneNumber) {
    return '${name}ৰ ফ’ন নম্বৰটো হৈছে ${phoneNumber}';
  }

  @override
  String get demoTextFieldRequiredField =>
      '* চিহ্নই প্ৰয়োজনীয় ক্ষেত্ৰক চিহ্নিত কৰে';

  @override
  String get demoTooltipTitle => 'টুলটিপসমূহ';

  @override
  String get demoTooltipSubtitle =>
      'দীঘলীয়াকৈ টিপা অথবা টিপি ধৰি থকাত প্ৰদর্শিত চমু বার্তা';

  @override
  String get demoTooltipDescription =>
      'টুলটিপসমূহে পাঠ লেবেলসমূহ প্ৰদান কৰে, যিবোৰে কোনো বুটাম অথবা অন্য ব্যৱহাৰকাৰীৰ ইণ্টাৰফে’চৰ কার্য বর্ণনা কৰাত সহায় কৰে। ব্যৱহাৰকাৰীসকলে কোনো উপাদানৰ ওপৰত ধৰি থাকিলে, মনোযোগ দিলে অথবা দীঘলীয়া সময় ধৰি টিপি থাকিলে টুলটিপে তথ্যমূলক পাঠ প্ৰদর্শন কৰে।';

  @override
  String get demoTooltipInstructions =>
      'টুলটিপ প্ৰদর্শন কৰিবলৈ দীঘলীয়াকৈ টিপা অথবা টিপি ধৰি থকা।';

  @override
  String get bottomNavigationCommentsTab => 'মন্তব্যসমূহ';

  @override
  String get bottomNavigationCalendarTab => 'কেলেণ্ডাৰ';

  @override
  String get bottomNavigationAccountTab => 'একাউণ্ট';

  @override
  String get bottomNavigationAlarmTab => 'এলাৰ্ম';

  @override
  String get bottomNavigationCameraTab => 'কেমেৰা';

  @override
  String bottomNavigationContentPlaceholder(Object title) {
    return '${title} টেবৰ বাবে প্লে’চহ’ল্ডাৰ';
  }

  @override
  String get buttonTextCreate => 'সৃষ্টি কৰক';

  @override
  String dialogSelectedOption(Object value) {
    return 'আপুনি এইটো বাছনি কৰিছে: \"${value}\"';
  }

  @override
  String get chipTurnOnLights => 'লাইটসমূহ অন কৰক';

  @override
  String get chipSmall => 'সৰু';

  @override
  String get chipMedium => 'মধ্যমীয়া';

  @override
  String get chipLarge => 'ডাঙৰ';

  @override
  String get chipElevator => 'এলিভে\'টৰ';

  @override
  String get chipWasher => 'ৱাশ্বাৰ';

  @override
  String get chipFireplace => 'জুহাল আছে';

  @override
  String get chipBiking => 'বাইকিং';

  @override
  String get dialogDiscardTitle => 'খচৰা প্ৰত্যাখ্যান কৰিবনে?';

  @override
  String get dialogLocationTitle => 'Googleৰ অৱস্থান সেৱা ব্যৱহাৰ কৰিবনে?';

  @override
  String get dialogLocationDescription =>
      'Googleক এপ্‌সমূহে অৱস্থান নির্ধাৰণ কৰাত সহায় কৰিবলৈ দিয়ক। এই কার্যই কোনো এপ্ চলি নাথাকিলেও Googleলৈ নামবিহীনভাৱে অৱস্থানৰ ডেটা পঠিওৱা বুজায়।';

  @override
  String get dialogCancel => 'বাতিল কৰক';

  @override
  String get dialogDiscard => 'প্ৰত্যাখ্যান কৰক';

  @override
  String get dialogDisagree => 'অসন্মত';

  @override
  String get dialogAgree => 'সন্মত';

  @override
  String get dialogSetBackup => 'বেকআপ একাউণ্ট ছেট কৰক';

  @override
  String get dialogAddAccount => 'একাউণ্ট যোগ কৰক';

  @override
  String get dialogShow => 'ডায়ল\'গ দেখুৱাওক';

  @override
  String get dialogFullscreenTitle => 'সম্পূর্ণ স্ক্ৰীনৰ ডায়ল\'গ';

  @override
  String get dialogFullscreenSave => 'ছেভ কৰক';

  @override
  String get dialogFullscreenDescription =>
      'এটা সম্পূর্ণ স্ক্ৰীনৰ ডায়ল\'গ ডেম’';

  @override
  String get cupertinoButton => 'বুটাম';

  @override
  String get cupertinoButtonWithBackground => 'নেপথ্যৰ সৈতে';

  @override
  String get cupertinoAlertCancel => 'বাতিল কৰক';

  @override
  String get cupertinoAlertDiscard => 'প্ৰত্যাখ্যান কৰক';

  @override
  String get cupertinoAlertLocationTitle =>
      'আপুনি এপ্‌টো ব্যৱহাৰ কৰি থাকোঁতে \"Maps\"ক আপোনাৰ অৱস্থান এক্সেছ কৰিবলৈ অনুমতি দিবনে?';

  @override
  String get cupertinoAlertLocationDescription =>
      'আপোনাৰ বর্তমানৰ অৱস্থানটো মেপত প্ৰদর্শন কৰা হ\'ব আৰু দিক্-নিৰ্দেশনাসমূহ, নিকটৱৰ্তী সন্ধানৰ ফলাফলসমূহ আৰু আনুমানিক যাত্ৰাৰ সময়বোৰৰ বাবে এইটো ব্যৱহাৰ কৰা হ\'ব।';

  @override
  String get cupertinoAlertAllow => 'অনুমতি দিয়ক';

  @override
  String get cupertinoAlertDontAllow => 'অনুমতি নিদিব';

  @override
  String get cupertinoAlertFavoriteDessert => 'প্ৰিয় ডিজার্ট বাছনি কৰক';

  @override
  String get cupertinoAlertDessertDescription =>
      'অনুগ্ৰহ কৰি, তলৰ সূচীখনৰ পৰা আপোনাৰ প্ৰিয় ডিজার্টৰ প্ৰকাৰ বাছনি কৰক। আপুনি কৰা বাছনি পৰামর্শ হিচাপে আগবঢ়োৱা আপোনাৰ এলেকাত থকা খাদ্যৰ দোকানসমূহৰ সূচীখন কাষ্টমাইজ কৰিবলৈ ব্যৱহাৰ কৰা হয়।';

  @override
  String get cupertinoAlertCheesecake => 'চীজেৰে প্ৰস্তুত কৰা কেক';

  @override
  String get cupertinoAlertTiramisu => 'টিৰামিছু';

  @override
  String get cupertinoAlertApplePie => 'Apple Pie';

  @override
  String get cupertinoAlertChocolateBrownie => 'চকলেট ব্ৰাউনি';

  @override
  String get cupertinoShowAlert => 'সতর্কবার্তা দেখুৱাওক';

  @override
  String get colorsRed => 'ৰঙা';

  @override
  String get colorsPink => 'গুলপীয়া';

  @override
  String get colorsPurple => 'বেঙুনীয়া';

  @override
  String get colorsDeepPurple => 'ডাঠ বেঙুনীয়া';

  @override
  String get colorsIndigo => 'ইণ্ডিগ\'';

  @override
  String get colorsBlue => 'নীলা';

  @override
  String get colorsLightBlue => 'পাতল নীলা';

  @override
  String get colorsCyan => 'চায়ান';

  @override
  String get colorsTeal => 'গাঢ় সেউজ-নীলা';

  @override
  String get colorsGreen => 'সেউজীয়া';

  @override
  String get colorsLightGreen => 'পাতল সেউজীয়া';

  @override
  String get colorsLime => 'নেমুৰঙী';

  @override
  String get colorsYellow => 'হালধীয়া';

  @override
  String get colorsAmber => 'এম্বাৰ';

  @override
  String get colorsOrange => 'কমলা';

  @override
  String get colorsDeepOrange => 'গাঢ় কমলা';

  @override
  String get colorsBrown => 'মাটীয়া';

  @override
  String get colorsGrey => 'ধোঁৱাবৰণীয়া';

  @override
  String get colorsBlueGrey => 'নীলা ধোঁৱাবৰণীয়া';

  @override
  String get placeChennai => 'চেন্নাই';

  @override
  String get placeTanjore => 'টাঞ্জৰ';

  @override
  String get placeChettinad => 'চেটিনাদ';

  @override
  String get placePondicherry => 'পন্ডিচেৰী';

  @override
  String get placeFlowerMarket => 'ফুলৰ বজাৰ';

  @override
  String get placeBronzeWorks => 'ব্ৰ’ঞ্জৰ কাম';

  @override
  String get placeMarket => 'বজাৰ';

  @override
  String get placeThanjavurTemple => 'থাঞ্জাবৰ মন্দিৰ';

  @override
  String get placeSaltFarm => 'নিমখৰ ফার্ম';

  @override
  String get placeScooters => 'স্কুটাৰসমূহ';

  @override
  String get placeSilkMaker => 'ছিল্ক প্ৰস্তুতকর্তা';

  @override
  String get placeLunchPrep => 'দুপৰীয়াৰ আহাৰৰ প্ৰস্তুতি';

  @override
  String get placeBeach => 'সমুদ্ৰতীৰ';

  @override
  String get placeFisherman => 'মাছমৰীয়া';

  @override
  String get starterAppTitle => 'ষ্টাৰ্টাৰ এপ্‌';

  @override
  String get starterAppDescription => 'এটা প্ৰতিক্ৰিয়াশীল ষ্টাৰ্টাৰ লে’আউট';

  @override
  String get starterAppGenericButton => 'বুটাম';

  @override
  String get starterAppTooltipAdd => 'যোগ কৰক';

  @override
  String get starterAppTooltipFavorite => 'প্ৰিয়';

  @override
  String get starterAppTooltipShare => 'শ্বেয়াৰ কৰক';

  @override
  String get starterAppTooltipSearch => 'সন্ধান কৰক';

  @override
  String get starterAppGenericTitle => 'শিৰোনাম';

  @override
  String get starterAppGenericSubtitle => 'ছাবটাইটেল';

  @override
  String get starterAppGenericHeadline => 'শীৰ্ষ শিৰোনাম';

  @override
  String get starterAppGenericBody => 'মূল অংশ';

  @override
  String starterAppDrawerItem(Object value) {
    return 'বস্তু ${value}';
  }

  @override
  String get shrineMenuCaption => 'মেনু';

  @override
  String get shrineCategoryNameAll => 'সকলো';

  @override
  String get shrineCategoryNameAccessories => 'আনুষংগিক সামগ্ৰী';

  @override
  String get shrineCategoryNameClothing => 'পোছাক';

  @override
  String get shrineCategoryNameHome => 'ঘৰ';

  @override
  String get shrineLogoutButtonCaption => 'লগ আউট কৰক';

  @override
  String get shrineLoginUsernameLabel => 'ব্যৱহাৰকাৰীৰ নাম';

  @override
  String get shrineLoginPasswordLabel => 'পাছৱৰ্ড';

  @override
  String get shrineCancelButtonCaption => 'বাতিল কৰক';

  @override
  String get shrineNextButtonCaption => 'পৰৱৰ্তী';

  @override
  String get shrineCartPageCaption => 'কাৰ্ট';

  @override
  String shrineProductQuantity(Object quantity) {
    return 'পৰিমাণ: ${quantity}';
  }

  @override
  String shrineProductPrice(Object price) {
    return 'x ${price}';
  }

  @override
  String shrineCartItemCount(int quantity) {
    return intl.Intl.pluralLogic(
      quantity,
      locale: localeName,
      zero: 'কোনো বস্তু নাই',
      one: '১ টা বস্তু',
      other: '${quantity} টা বস্তু',
    );
  }

  @override
  String get shrineCartClearButtonCaption => 'কাৰ্টত থকা সমল মচক';

  @override
  String get shrineCartTotalCaption => 'সর্বমুঠ';

  @override
  String get shrineCartSubtotalCaption => 'প্ৰাথমিক মুঠ:';

  @override
  String get shrineCartShippingCaption => 'শ্বিপিং:';

  @override
  String get shrineCartTaxCaption => 'কৰ:';

  @override
  String get shrineProductVagabondSack => 'Vagabond sack';

  @override
  String get shrineProductStellaSunglasses => 'Stella sunglasses';

  @override
  String get shrineProductWhitneyBelt => 'Whitney belt';

  @override
  String get shrineProductGardenStrand => 'Garden strand';

  @override
  String get shrineProductStrutEarrings => 'Strut earrings';

  @override
  String get shrineProductVarsitySocks => 'Varsity socks';

  @override
  String get shrineProductWeaveKeyring => 'Weave keyring';

  @override
  String get shrineProductGatsbyHat => 'Gatsby hat';

  @override
  String get shrineProductShrugBag => 'Shrug bag';

  @override
  String get shrineProductGiltDeskTrio => 'Gilt desk trio';

  @override
  String get shrineProductCopperWireRack => 'Copper wire rack';

  @override
  String get shrineProductSootheCeramicSet => 'Soothe ceramic set';

  @override
  String get shrineProductHurrahsTeaSet => 'Hurrahs tea set';

  @override
  String get shrineProductBlueStoneMug => 'Blue stone mug';

  @override
  String get shrineProductRainwaterTray => 'Rainwater tray';

  @override
  String get shrineProductChambrayNapkins => 'Chambray napkins';

  @override
  String get shrineProductSucculentPlanters => 'Succulent planters';

  @override
  String get shrineProductQuartetTable => 'Quartet table';

  @override
  String get shrineProductKitchenQuattro => 'Kitchen quattro';

  @override
  String get shrineProductClaySweater => 'Clay sweater';

  @override
  String get shrineProductSeaTunic => 'Sea tunic';

  @override
  String get shrineProductPlasterTunic => 'Plaster tunic';

  @override
  String get shrineProductWhitePinstripeShirt => 'White pinstripe shirt';

  @override
  String get shrineProductChambrayShirt => 'Chambray shirt';

  @override
  String get shrineProductSeabreezeSweater => 'Seabreeze sweater';

  @override
  String get shrineProductGentryJacket => 'Gentry jacket';

  @override
  String get shrineProductNavyTrousers => 'Navy trousers';

  @override
  String get shrineProductWalterHenleyWhite => 'Walter henley (white)';

  @override
  String get shrineProductSurfAndPerfShirt => 'Surf and perf shirt';

  @override
  String get shrineProductGingerScarf => 'Ginger scarf';

  @override
  String get shrineProductRamonaCrossover => 'Ramona crossover';

  @override
  String get shrineProductClassicWhiteCollar => 'Classic white collar';

  @override
  String get shrineProductCeriseScallopTee => 'Cerise scallop tee';

  @override
  String get shrineProductShoulderRollsTee => 'Shoulder rolls tee';

  @override
  String get shrineProductGreySlouchTank => 'Grey slouch tank';

  @override
  String get shrineProductSunshirtDress => 'Sunshirt dress';

  @override
  String get shrineProductFineLinesTee => 'Fine lines tee';

  @override
  String get shrineTooltipSearch => 'সন্ধান কৰক';

  @override
  String get shrineTooltipSettings => 'ছেটিংসমূহ';

  @override
  String get shrineTooltipOpenMenu => 'মেনু খোলক';

  @override
  String get shrineTooltipCloseMenu => 'মেনু বন্ধ কৰক';

  @override
  String get shrineTooltipCloseCart => 'কাৰ্ট বন্ধ কৰক';

  @override
  String shrineScreenReaderCart(int quantity) {
    return intl.Intl.pluralLogic(
      quantity,
      locale: localeName,
      zero: 'শ্বপিং কাৰ্ট, কোনো বস্তু নাই',
      one: 'শ্বপিং কাৰ্ট, ১ টা বস্তু',
      other: 'শ্বপিং কার্ট, ${quantity} টা বস্তু',
    );
  }

  @override
  String get shrineScreenReaderProductAddToCart => 'কাৰ্টত যোগ কৰক';

  @override
  String shrineScreenReaderRemoveProductButton(Object product) {
    return '${product} আঁতৰাওক';
  }

  @override
  String get shrineTooltipRemoveItem => 'বস্তু আঁতৰাওক';

  @override
  String get craneFormDiners => 'নৈশ আহাৰ';

  @override
  String get craneFormDate => 'তাৰিখ বাছনি কৰক';

  @override
  String get craneFormTime => 'সময় বাছনি কৰক';

  @override
  String get craneFormLocation => 'অৱস্থান বাছনি কৰক';

  @override
  String get craneFormTravelers => 'ভ্ৰমণকাৰীসকল';

  @override
  String get craneFormOrigin => 'যাত্ৰা আৰম্ভ কৰাৰ স্থান বাছনি কৰক';

  @override
  String get craneFormDestination => 'গন্তব্যস্থান বাছনি কৰক';

  @override
  String get craneFormDates => 'তাৰিখবোৰ বাছনি কৰক';

  @override
  String craneHours(int hours) {
    return intl.Intl.pluralLogic(
      hours,
      locale: localeName,
      one: '১ ঘ',
      other: '${hours} ঘ',
    );
  }

  @override
  String craneMinutes(int minutes) {
    return intl.Intl.pluralLogic(
      minutes,
      locale: localeName,
      one: '১ মি',
      other: '${minutes} মি',
    );
  }

  @override
  String craneFlightDuration(Object hoursShortForm, Object minutesShortForm) {
    return '${hoursShortForm} ${minutesShortForm}';
  }

  @override
  String get craneFly => 'উৰণ';

  @override
  String get craneSleep => 'টোপনি';

  @override
  String get craneEat => 'খোৱা';

  @override
  String get craneFlySubhead => 'গন্তব্যস্থানৰ অনুসৰি ফ্লাইটবোৰ অন্বেষণ কৰক';

  @override
  String get craneSleepSubhead =>
      'গন্তব্যস্থান অনুসৰি সম্পত্তিসমূহ অন্বেষণ কৰক';

  @override
  String get craneEatSubhead =>
      'গন্তব্যস্থান অনুসৰি ৰেষ্টুৰেণ্টসমূহ অন্বেষণ কৰক';

  @override
  String craneFlyStops(int numberOfStops) {
    return intl.Intl.pluralLogic(
      numberOfStops,
      locale: localeName,
      zero: 'কোনো আস্থান নাই',
      one: '১ টা আস্থান',
      other: '${numberOfStops} টা আস্থান',
    );
  }

  @override
  String craneSleepProperties(int totalProperties) {
    return intl.Intl.pluralLogic(
      totalProperties,
      locale: localeName,
      zero: 'কোনো উপলব্ধ সম্পত্তি নাই',
      one: '১ টা উপলব্ধ সম্পত্তি',
      other: '${totalProperties} টা উপলব্ধ সম্পত্তি',
    );
  }

  @override
  String craneEatRestaurants(int totalRestaurants) {
    return intl.Intl.pluralLogic(
      totalRestaurants,
      locale: localeName,
      zero: 'কোনো ৰেষ্টুৰেণ্ট নাই',
      one: '১ খন ৰেষ্টুৰেণ্ট',
      other: '${totalRestaurants} খন ৰেষ্টুৰেণ্ট',
    );
  }

  @override
  String get craneFly0 => 'এছপেন, মার্কিন যুক্তৰাষ্ট্ৰ';

  @override
  String get craneFly1 => 'বিগ ছুৰ, মাৰ্কিন যুক্তৰাষ্ট্ৰ';

  @override
  String get craneFly2 => 'খুমবু ভেলী, নেপাল';

  @override
  String get craneFly3 => 'মাশ্বু পিচশ্বু, পেৰু';

  @override
  String get craneFly4 => 'মালে, মালদ্বীপ';

  @override
  String get craneFly5 => 'ভিজনাও, ছুইজাৰলেণ্ড';

  @override
  String get craneFly6 => 'মেক্সিক’ চহৰ, মেক্সিক’';

  @override
  String get craneFly7 => 'মাউণ্ট ৰাশ্বম\'ৰ, মাৰ্কিন যুক্তৰাষ্ট্ৰ';

  @override
  String get craneFly8 => 'ছিংগাপুৰ';

  @override
  String get craneFly9 => 'হানাভা, কিউবা';

  @override
  String get craneFly10 => 'কাইৰ\', ঈজিপ্ত';

  @override
  String get craneFly11 => 'লিছবন, পর্তুগাল';

  @override
  String get craneFly12 => 'নাপা, মাৰ্কিন যুক্তৰাষ্ট্ৰ';

  @override
  String get craneFly13 => 'বালি, ইণ্ডোনেছিয়া';

  @override
  String get craneSleep0 => 'মালে, মালদ্বীপ';

  @override
  String get craneSleep1 => 'এছপেন, মার্কিন যুক্তৰাষ্ট্ৰ';

  @override
  String get craneSleep2 => 'মাশ্বু পিচশ্বু, পেৰু';

  @override
  String get craneSleep3 => 'হানাভা, কিউবা';

  @override
  String get craneSleep4 => 'ভিজনাও, ছুইজাৰলেণ্ড';

  @override
  String get craneSleep5 => 'বিগ ছুৰ, মাৰ্কিন যুক্তৰাষ্ট্ৰ';

  @override
  String get craneSleep6 => 'নাপা, মাৰ্কিন যুক্তৰাষ্ট্ৰ';

  @override
  String get craneSleep7 => 'প\'র্ট\', পর্তুগাল';

  @override
  String get craneSleep8 => 'টুলুম, মেক্সিকো';

  @override
  String get craneSleep9 => 'লিছবন, পর্তুগাল';

  @override
  String get craneSleep10 => 'কাইৰ\', ঈজিপ্ত';

  @override
  String get craneSleep11 => 'তাইপেই, তাইৱান';

  @override
  String get craneEat0 => 'নেপলচ, ইটালী';

  @override
  String get craneEat1 => 'ডাল্লাছ, মার্কিন যুক্তৰাষ্ট্ৰ';

  @override
  String get craneEat2 => 'কৰড\'বা, আর্জেণ্টিনা';

  @override
  String get craneEat3 => 'পৰ্টলেণ্ড, মাৰ্কিন যুক্তৰাষ্ট্ৰ';

  @override
  String get craneEat4 => 'পেৰিছ, ফ্ৰান্স';

  @override
  String get craneEat5 => 'ছিউল, দক্ষিণ কোৰিয়া';

  @override
  String get craneEat6 => 'ছিট্টেল, আমেৰিকা যুক্তৰাষ্ট্ৰ';

  @override
  String get craneEat7 => 'নাশ্বভিল্লে, মার্কিন যুক্তৰাষ্ট্ৰ';

  @override
  String get craneEat8 => 'আটলাণ্টা, মাৰ্কিন যুক্তৰাষ্ট্ৰ';

  @override
  String get craneEat9 => 'মাদ্ৰিদ, স্পেইন';

  @override
  String get craneEat10 => 'লিছবন, পর্তুগাল';

  @override
  String get craneFly0SemanticLabel =>
      'চিৰসেউজ উদ্ভিদৰ এক বৰফাবৃত প্ৰাকৃতিক দৃশ্যৰ সৈতে শ্ব্যালেই';

  @override
  String get craneFly1SemanticLabel => 'পথাৰত থকা তম্বু';

  @override
  String get craneFly2SemanticLabel =>
      'বৰফেৰে আৱৰা পৰ্বতৰ সন্মুখত প্ৰাৰ্থনাৰ পতাকা';

  @override
  String get craneFly3SemanticLabel => 'মাচু পিচু চিটাডেল';

  @override
  String get craneFly4SemanticLabel => 'পানীৰ ওপৰত সজোৱা বঙলা';

  @override
  String get craneFly5SemanticLabel =>
      'পৰ্বতৰ সন্মুখত থকা এটা হ্ৰদৰ কাষৰীয়া হোটেল';

  @override
  String get craneFly6SemanticLabel => 'পালাচিও ড্য বেলাছ আৰ্টেছৰ আকাশী দৃশ্য';

  @override
  String get craneFly7SemanticLabel => 'মাউণ্ট ৰুশ্বম’ৰ';

  @override
  String get craneFly8SemanticLabel => 'ছুপাৰট্ৰী গ্ৰুভ';

  @override
  String get craneFly9SemanticLabel => 'এখন পুৰণি নীলা গাড়ীত হালি থকা মানুহ';

  @override
  String get craneFly10SemanticLabel =>
      'অল-আঝাৰ মছজিদটো সূৰ্যাস্তৰ সময়ত সুউচ্চ দেখা গৈছে';

  @override
  String get craneFly11SemanticLabel => 'সাগৰত থকা ইটাৰ আলোকস্তম্ভ';

  @override
  String get craneFly12SemanticLabel => 'তাল গছৰ সৈতে সাঁতোৰা পুখুৰী';

  @override
  String get craneFly13SemanticLabel =>
      'তাল গজ থকা সাগৰৰ কাষৰীয়া সাঁতোৰা পুখুৰী';

  @override
  String get craneSleep0SemanticLabel => 'পানীৰ ওপৰত সজোৱা বঙলা';

  @override
  String get craneSleep1SemanticLabel =>
      'চিৰসেউজ উদ্ভিদৰ এক বৰফাবৃত প্ৰাকৃতিক দৃশ্যৰ সৈতে শ্ব্যালেই';

  @override
  String get craneSleep2SemanticLabel => 'মাচু পিচু চিটাডেল';

  @override
  String get craneSleep3SemanticLabel => 'এখন পুৰণি নীলা গাড়ীত হালি থকা মানুহ';

  @override
  String get craneSleep4SemanticLabel =>
      'পৰ্বতৰ সন্মুখত থকা এটা হ্ৰদৰ কাষৰীয়া হোটেল';

  @override
  String get craneSleep5SemanticLabel => 'পথাৰত থকা তম্বু';

  @override
  String get craneSleep6SemanticLabel => 'তাল গছৰ সৈতে সাঁতোৰা পুখুৰী';

  @override
  String get craneSleep7SemanticLabel => 'ৰাইবেৰিয়া স্কুয়েৰত ৰঙীন আবাস';

  @override
  String get craneSleep8SemanticLabel =>
      'এটা উপকূলৰ ওপৰত মায়া সভ্যতাৰ ধ্বংসাৱশেষ';

  @override
  String get craneSleep9SemanticLabel => 'সাগৰত থকা ইটাৰ আলোকস্তম্ভ';

  @override
  String get craneSleep10SemanticLabel =>
      'অল-আঝাৰ মছজিদটো সূৰ্যাস্তৰ সময়ত সুউচ্চ দেখা গৈছে';

  @override
  String get craneSleep11SemanticLabel => 'টাইপেই ১০১ স্কাইস্ক্ৰেপাৰ';

  @override
  String get craneEat0SemanticLabel => 'খৰিৰ ভাতীত থকা পিজ্জা';

  @override
  String get craneEat1SemanticLabel =>
      'ভোজনৰ সময়ত ব্যৱহৃত শৈলীৰ টুলৰ সৈতে খালী বাৰ';

  @override
  String get craneEat2SemanticLabel => 'বার্গাৰ';

  @override
  String get craneEat3SemanticLabel => 'কোৰিয়ান টাক’';

  @override
  String get craneEat4SemanticLabel => 'চকলেটৰ মিষ্টান্ন';

  @override
  String get craneEat5SemanticLabel => 'ৰেষ্টুৰাৰ কলাসুলভ বহা ঠাই';

  @override
  String get craneEat6SemanticLabel => 'মিছামাছৰ ব্যঞ্জন';

  @override
  String get craneEat7SemanticLabel => 'বেকাৰীৰ প্ৰৱেশদ্বাৰ';

  @override
  String get craneEat8SemanticLabel => 'ক্ৰ’ফিশ্বৰ প্লেট';

  @override
  String get craneEat9SemanticLabel => 'পেষ্ট্ৰিসহ কেফেৰ কাউণ্টাৰ';

  @override
  String get craneEat10SemanticLabel =>
      'এটা বৃহৎ পাষ্ট্ৰামি ছেণ্ডৱিচ ধৰি থকা মহিলা';

  @override
  String get fortnightlyMenuFrontPage => 'প্ৰথম পৃষ্ঠা';

  @override
  String get fortnightlyMenuWorld => 'বিশ্ব';

  @override
  String get fortnightlyMenuUS => 'আমেৰিকা যুক্তৰাষ্ট্ৰ';

  @override
  String get fortnightlyMenuPolitics => 'ৰাজনীতি';

  @override
  String get fortnightlyMenuBusiness => 'ব্যৱসায়';

  @override
  String get fortnightlyMenuTech => 'প্রযুক্তিবিদ্যা';

  @override
  String get fortnightlyMenuScience => 'বিজ্ঞান';

  @override
  String get fortnightlyMenuSports => 'খেল';

  @override
  String get fortnightlyMenuTravel => 'ভ্ৰমণ';

  @override
  String get fortnightlyMenuCulture => 'সংস্কৃতি';

  @override
  String get fortnightlyTrendingTechDesign => 'TechDesign';

  @override
  String get fortnightlyTrendingReform => 'Reform';

  @override
  String get fortnightlyTrendingHealthcareRevolution => 'HealthcareRevolution';

  @override
  String get fortnightlyTrendingGreenArmy => 'GreenArmy';

  @override
  String get fortnightlyTrendingStocks => 'Stocks';

  @override
  String get fortnightlyLatestUpdates => 'শেহতীয়া আপডে’টসমূহ';

  @override
  String get fortnightlyHeadlineHealthcare =>
      'নিঃশব্দ অথচ শক্তিশালী স্বাস্থ্যসেৱা বিপ্লৱটো';

  @override
  String get fortnightlyHeadlineWar =>
      'যুদ্ধৰ সময়ত বিধ্বস্ত হোৱা আমেৰিকাৰ জনজীৱন';

  @override
  String get fortnightlyHeadlineGasoline => 'পেট্ৰলৰ ভৱিষ্যত';

  @override
  String get fortnightlyHeadlineArmy => 'গ্ৰীন আৰ্মিৰ আত্মসংস্কাৰ';

  @override
  String get fortnightlyHeadlineStocks =>
      'স্থবিৰ ষ্টক মাৰ্কেট, মুদ্ৰাই এতিয়া বহুতৰ ভৰসা';

  @override
  String get fortnightlyHeadlineFabrics =>
      'অত্যাধুনিক বস্ত্ৰ তৈয়াৰ কৰিবলৈ ডিজাইনাৰসকলে কৰিছে প্ৰযুক্তিবিদ্যাৰ ব্যৱহাৰ';

  @override
  String get fortnightlyHeadlineFeminists =>
      'পক্ষপাত সম্পৰ্কে নাৰীবাদীসকলৰ দৃষ্টিভংগী';

  @override
  String get fortnightlyHeadlineBees =>
      'পৰাগ-সংযোগত সহায়ক মৌ-মাখি দুষ্প্ৰাপ্য হ’বলৈ ধৰিছে';
}
