// 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 Oriya (`or`).
class GalleryLocalizationsOr extends GalleryLocalizations {
  GalleryLocalizationsOr([String locale = 'or']) : 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 =>
      'ତାମିଲନାଡୁରେ ଭ୍ରମଣ କରିବା ପାଇଁ 10ଟି ଶ୍ରେଷ୍ଠ ସହର';

  @override
  String get cardsDemoTravelDestinationDescription1 => 'ନମ୍ବର 10';

  @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 => 'ପାସ୍‌କୋଡ୍ ଏବଂ ଟଚ୍ ID';

  @override
  String get rallySettingsNotifications => 'ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ';

  @override
  String get rallySettingsPersonalInformation => 'ବ୍ୟକ୍ତିଗତ ସୂଚନା';

  @override
  String get rallySettingsPaperlessSettings => 'ପେପର୍‌ଲେସ୍ ସେଟିଂସ୍';

  @override
  String get rallySettingsFindAtms => 'ATM ଖୋଜନ୍ତୁ';

  @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 => 'କୌଣସି AdSense ଆକାଉଣ୍ଟ ନାହିଁ?';

  @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 'ଆପଣ ଏହି ମାସରେ ATM ଶୁଳ୍କରେ ${amount} ଖର୍ଚ୍ଚ କରିଛନ୍ତି';
  }

  @override
  String rallyAlertsMessageCheckingAccount(Object percent) {
    return 'ବଢ଼ିଆ କାମ! ଗତ ମାସଠାରୁ ଆପଣଙ୍କ ଆକାଉଣ୍ଟର ଚେକିଂ ${percent} ବଢ଼ିଛି।';
  }

  @override
  String rallyAlertsMessageUnassignedTransactions(int count) {
    return intl.Intl.pluralLogic(
      count,
      locale: localeName,
      one:
          'ଆପଣଙ୍କର କରରେ ସମ୍ଭାବ୍ୟ ଛାଡ଼କୁ ବଢ଼ାନ୍ତୁ! 1ଟି ଆସାଇନ୍ କରାଯାଇନଥିବା ଟ୍ରାଞ୍ଜାକ୍ସନ୍‌ରେ ବର୍ଗଗୁଡ଼ିକୁ ଆସାଇନ୍ କରନ୍ତୁ।',
      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 => 'LTR';

  @override
  String get settingsTextDirectionRTL => 'RTL';

  @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 => 'ଫ୍ଲଟର୍ ଗ୍ୟାଲେରୀ ବିଷୟରେ';

  @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 =>
      'ଆକ୍ସନ୍ ଚିପ୍ସ, ବିକଳ୍ପଗୁଡ଼ିକର ଏକ ସେଟ୍ ଯାହା ପ୍ରାଥମିକ ବିଷୟବସ୍ତୁ ସମ୍ପର୍କିତ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ଟ୍ରିଗର୍ କରିଥାଏ। ଏକ UIରେ ଆକ୍ସନ୍ ଚିପ୍ସ ଗତିଶୀଳ ଏବଂ ପ୍ରାସଙ୍ଗିକ ଭାବରେ ଦେଖାଯିବା ଉଚିତ।';

  @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 => 'ଡିଜର୍ଟ (1 ସର୍ଭିଂ)';

  @override
  String get dataTableColumnCalories => 'କ୍ୟାଲୋରୀ';

  @override
  String get dataTableColumnFat => 'ଚର୍ବି (g)';

  @override
  String get dataTableColumnCarbs => 'କାର୍ବୋହାଇଡ୍ରେଟ୍ (g)';

  @override
  String get dataTableColumnProtein => 'ପ୍ରୋଟିନ୍ (g)';

  @override
  String get dataTableColumnSodium => 'ସୋଡିୟମ୍ (mg)';

  @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 => 'PIN';

  @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 =>
      'ରଙ୍ଗ ଓ ରଙ୍ଗ ସ୍ୱାଚ୍ ସ୍ଥିରାଙ୍କଗୁଡ଼ିକ ଉପାଦାନ ଡିଜାଇନ୍‍ର ରଙ୍ଗ ପ୍ୟାଲେଟ୍‍ର ପ୍ରତିନିଧିତ୍ୱ କରେ।';

  @override
  String get demoTypographyTitle => 'ଟାଇପୋଗ୍ରାଫି';

  @override
  String get demoTypographySubtitle => 'ସମସ୍ତ ପୂର୍ବ ନିର୍ଦ୍ଧାରିତ ଟେକ୍ସଟ୍ ଶୈଳୀ';

  @override
  String get demoTypographyDescription =>
      'ମେଟେରିଆଲ୍ ଡିଜାଇନ୍‌ରେ ପାଇଥିବା ଭିନ୍ନ ଟାଇପୋଗ୍ରାଫିକାଲ୍ ଶୈଳୀର ସଂଜ୍ଞା।';

  @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 =>
      'Material Designର ଏକ ବୃତ୍ତାକାର ପ୍ରଗତିର ସୂଚକ, ଯାହା ଆପ୍ଲିକେସନ୍ ବ୍ୟସ୍ତ ଅଛି ବୋଲି ଦର୍ଶାଇବାକୁ ଘୂରିଥାଏ।';

  @override
  String get demoLinearProgressIndicatorTitle => 'ରୈଖିକ ପ୍ରଗତିର ସୂଚକ';

  @override
  String get demoLinearProgressIndicatorDescription =>
      'Material Designର ଏକ ରୈଖିକ ପ୍ରଗତିର ସୂଚକ, ଯାହା ଏକ ପ୍ରଗତି ବାର୍ ରୂପେ ମଧ୍ୟ ପରିଚିତ ଅଟେ।';

  @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 =>
      'Checkboxes, ରେଡିଓ ବଟନ୍ ଏବଂ ସ୍ୱିଚ୍‌ଗୁଡ଼ିକ';

  @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 =>
      'ଟେକ୍ସଟ୍ ଫିଲ୍ଡ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଏକ UIରେ ଟେକ୍ସଟ୍ ଲେଖିବାକୁ ଅନୁମତି ଦେଇଥାଏ। ସେମାନେ ସାଧାରଣତଃ ଫର୍ମ ଏବଂ ଡାଇଲଗ୍‌ରେ ଦେଖାଯାଆନ୍ତି।';

  @override
  String get demoTextFieldShowPasswordLabel => 'ପାସ୍‍ୱାର୍ଡ ଦେଖାନ୍ତୁ';

  @override
  String get demoTextFieldHidePasswordLabel => 'ପାସ୍‍ୱାର୍ଡ ଲୁଚାନ୍ତୁ';

  @override
  String get demoTextFieldFormErrors =>
      'ଦାଖଲ କରିବା ପୂର୍ବରୁ ଦୟାକରି ଲାଲ ତ୍ରୁଟିଗୁଡ଼କୁ ସମାଧାନ କରନ୍ତୁ।';

  @override
  String get demoTextFieldNameRequired => 'ନାମ ଆବଶ୍ୟକ ଅଟେ।';

  @override
  String get demoTextFieldOnlyAlphabeticalChars =>
      'ଦୟାକରି କେବଳ ଅକ୍ଷରରେ ଲେଖନ୍ତୁ।';

  @override
  String get demoTextFieldEnterUSPhoneNumber =>
      '(###) ###-#### - ଏକ US ଫୋନ୍ ନମ୍ବର ଲେଖନ୍ତୁ।';

  @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 => 'USD';

  @override
  String get demoTextFieldNoMoreThan => '8ରୁ ଅଧିକ ଅକ୍ଷର ନୁହେଁ';

  @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 => 'Calendar';

  @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 =>
      'ଆପଣଙ୍କର ଲୋକେସନ୍ mapରେ ପ୍ରଦର୍ଶିତ ହେବ ଏବଂ ଦିଗନିର୍ଦ୍ଦେଶ୍, ନିକଟର ସନ୍ଧାନ ଫଳାଫଳ ଏବଂ ଆନୁମାନିକ ଭ୍ରମଣ ସମୟ ପାଇଁ ବ୍ୟବହାର କରାଯିବ।';

  @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 => 'ଆପଲ୍ ପାଏ';

  @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: '1ଟି ଆଇଟମ୍',
      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 => 'ଭାଗାବଣ୍ଡ ସାକ୍';

  @override
  String get shrineProductStellaSunglasses => 'ଷ୍ଟେଲା ସନ୍‌ଗ୍ଲାସ୍';

  @override
  String get shrineProductWhitneyBelt => 'ହ୍ୱିଟ୍‌ନେ ବେଲ୍ଟ';

  @override
  String get shrineProductGardenStrand => 'ଗାର୍ଡେନ୍ ଷ୍ଟ୍ରାଣ୍ଡ';

  @override
  String get shrineProductStrutEarrings => 'ଷ୍ଟ୍ରଟ୍ ଇଅର୍‌ରିଂ';

  @override
  String get shrineProductVarsitySocks => 'ଭାର୍ସିଟୀ ସକ୍ସ';

  @override
  String get shrineProductWeaveKeyring => 'ୱେଭ୍ କୀ\'ରିଂ';

  @override
  String get shrineProductGatsbyHat => 'ଗେଟ୍ସବାଏ ହେଟ୍';

  @override
  String get shrineProductShrugBag => 'ସ୍ରଗ୍ ବ୍ୟାଗ୍';

  @override
  String get shrineProductGiltDeskTrio => 'ଗ୍ଲିଟ୍ ଡେସ୍କ ଟ୍ରିଓ';

  @override
  String get shrineProductCopperWireRack => 'ତମ୍ବା ୱାୟାର୍ ରେକ୍';

  @override
  String get shrineProductSootheCeramicSet => 'ସୁଦ୍ ସେରାମିକ୍ ସେଟ୍';

  @override
  String get shrineProductHurrahsTeaSet => 'ହୁରାହ୍\'ର ଟି ସେଟ୍';

  @override
  String get shrineProductBlueStoneMug => 'ବ୍ଲୁ ଷ୍ଟୋନ୍ ମଗ୍';

  @override
  String get shrineProductRainwaterTray => 'ରେନ୍‌ୱାଟର୍ ଟ୍ରେ';

  @override
  String get shrineProductChambrayNapkins => 'ଚାମ୍ବରେ ନାପ୍‌କିନ୍ସ';

  @override
  String get shrineProductSucculentPlanters => 'ସକ୍ୟୁଲେଣ୍ଟ ପ୍ଲାଣ୍ଟର୍ସ';

  @override
  String get shrineProductQuartetTable => 'କ୍ୱାର୍ଟେଟ୍ ଟେବଲ୍';

  @override
  String get shrineProductKitchenQuattro => 'କିଚେନ୍ କ୍ୱାଟ୍ରୋ';

  @override
  String get shrineProductClaySweater => 'କ୍ଲେ ସ୍ୱେଟର୍';

  @override
  String get shrineProductSeaTunic => 'ସି ଟ୍ୟୁନିକ୍';

  @override
  String get shrineProductPlasterTunic => 'ପ୍ଲାଷ୍ଟର୍ ଟ୍ୟୁନିକ୍';

  @override
  String get shrineProductWhitePinstripeShirt => 'ଧଳା ପିନ୍‌ଷ୍ଟ୍ରିପ୍ ସାର୍ଟ';

  @override
  String get shrineProductChambrayShirt => 'ଚାମ୍ବରେ ସାର୍ଟ';

  @override
  String get shrineProductSeabreezeSweater => 'ସିବ୍ରିଜ୍ ସ୍ୱେଟର୍';

  @override
  String get shrineProductGentryJacket => 'ଜେଣ୍ଟ୍ରି ଜ୍ୟାକେଟ୍';

  @override
  String get shrineProductNavyTrousers => 'ନେଭି ଟ୍ରାଉଜର୍';

  @override
  String get shrineProductWalterHenleyWhite => 'ୱାଲ୍ଟର୍ ହେନ୍‌ଲି (ଧଳା)';

  @override
  String get shrineProductSurfAndPerfShirt => 'ସର୍ଫ ଏବଂ ପର୍ଫ ସାର୍ଟ';

  @override
  String get shrineProductGingerScarf => 'ଜିଞ୍ଜର୍ ସ୍କାର୍ଫ';

  @override
  String get shrineProductRamonaCrossover => 'ରାମୋନା କ୍ରସ୍‌ଓଭର୍';

  @override
  String get shrineProductClassicWhiteCollar => 'କ୍ଲାସିକ୍ ହ୍ୱାଇଟ୍ କୋଲାର୍';

  @override
  String get shrineProductCeriseScallopTee => 'ସିରିଜ୍ ସ୍କଲୋପ୍ ଟି';

  @override
  String get shrineProductShoulderRollsTee => 'ସୋଲ୍‌ଡର୍ ରୋଲ୍ସ ଟି';

  @override
  String get shrineProductGreySlouchTank => 'ଗ୍ରେ ସ୍ଲାଉଚ୍ ଟାଙ୍କ';

  @override
  String get shrineProductSunshirtDress => 'ସନ୍‌ସାର୍ଟ ଡ୍ରେସ୍';

  @override
  String get shrineProductFineLinesTee => 'ଫାଇନ୍ ଲାଇନ୍ ଟି';

  @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: 'ସପିଂ କାର୍ଟ, 1ଟି ଆଇଟମ୍',
      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: '1ଘ',
      other: '${hours}ଘ',
    );
  }

  @override
  String craneMinutes(int minutes) {
    return intl.Intl.pluralLogic(
      minutes,
      locale: localeName,
      one: '1ମି',
      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: '1ଟି ରହଣି',
      other: '${numberOfStops}ଟି ରହଣି',
    );
  }

  @override
  String craneSleepProperties(int totalProperties) {
    return intl.Intl.pluralLogic(
      totalProperties,
      locale: localeName,
      zero: 'କୌଣସି ପ୍ରୋପର୍ଟି ଉପଲବ୍ଧ ନାହିଁ',
      one: '1ଟି ଉପଲବ୍ଧ ଥିବା ପ୍ରୋପର୍ଟି',
      other: '${totalProperties}ଟି ଉପଲବ୍ଧ ଥିବା ପ୍ରୋପର୍ଟି',
    );
  }

  @override
  String craneEatRestaurants(int totalRestaurants) {
    return intl.Intl.pluralLogic(
      totalRestaurants,
      locale: localeName,
      zero: 'କୌଣସି ରେଷ୍ଟୁରାଣ୍ଟ ନାହିଁ',
      one: '1ଟି ରେଷ୍ଟୁରାଣ୍ଟ',
      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 => 'ଟାଇପେୟୀ 101 ଆକକାଶ ଛୁଆଁ ପ୍ରାସାଦ';

  @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 => 'ଚାଷ ପାଇଁ ମହୁମାଛିଙ୍କ ନିଅଣ୍ଟ';
}
