// 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 Kannada (`kn`).
class GalleryLocalizationsKn extends GalleryLocalizations {
  GalleryLocalizationsKn([String locale = 'kn']) : 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 => 'ಪಾಸ್‌ಕೋಡ್ ಮತ್ತು ಟಚ್ ಐಡಿ';

  @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 => 'ರ್‍ಯಾಲಿಗೆ ಲಾಗಿನ್ ಮಾಡಿ';

  @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 'ನೀವು ಈ ತಿಂಗಳು 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 '${amount} ಗಾಗಿ ${date} ರಂದು ${billName} ಬಿಲ್ ಪಾವತಿ ಬಾಕಿಯಿದೆ.';
  }

  @override
  String rallyBudgetAmount(Object budgetName, Object amountUsed,
      Object amountTotal, Object amountLeft) {
    return '${amountTotal} ರಲ್ಲಿನ ${budgetName} ಬಜೆಟ್‌ನ ${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 => 'ಫ್ಲಟರ್ ಗ್ಯಾಲರಿ ಕುರಿತು';

  @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 => 'ಕೊಬ್ಬು (ಗ್ರಾಂ)';

  @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 =>
      'ಒಳಬರುವ ಪುಟವು, ಫುಲ್‌ಸ್ಕ್ರೀನ್‌ಡೈಲಾಗ್ ಮೋಡಲ್ ಆಗಿದೆಯೇ ಎಂಬುದನ್ನು ಫುಲ್‌ಸ್ಕ್ರೀನ್ ಡೈಲಾಗ್ ಗುಣಲಕ್ಷಣ ಸೂಚಿಸುತ್ತದೆ';

  @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 =>
      'ವಸ್ತು ವಿನ್ಯಾಸದ ಬಣ್ಣ ಫಲಕವನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಬಣ್ಣ ಮತ್ತು ಬಣ್ಣದ ಸ್ಥಿರಾಂಕಗಳು.';

  @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 =>
      'ಟೈಲ್‌ಗಳನ್ನು ಎಡಿಟ್ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು Tದೃಶ್ಯದ ಸುತ್ತಲೂ ಚಲಿಸಲು ಸ್ಪರ್ಶ ಗೆಸ್ಚರ್‌ಗಳನ್ನು ಬಳಸಿ. ವಸ್ತುವನ್ನು ಪ್ಯಾನ್ ಮಾಡಲು ಎಳೆಯಿರಿ, ಝೂಮ್ ಮಾಡಲು ಪಿಂಚ್ ಮಾಡಿ ಮತ್ತು ತಿರುಗಿಸಲು ಎರಡು ಬೆರಳುಗಳಿಂದ ಸರಿಸಿ. ಆರಂಭಿಕ ಓರಿಯಂಟೇಶನ್‌ಗೆ ಹಿಂತಿರುಗಲು ಮರುಹೊಂದಿಸಿ ಬಟನ್ ಅನ್ನು ಒತ್ತಿರಿ.';

  @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 =>
      'ಪಠ್ಯ ಫೀಲ್ಡ್‌ಗಳು, ಬಳಕೆದಾರರಿಗೆ 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 => 'ಕ್ಯಾಲೆಂಡರ್‌';

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

  @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 => 'Palacio de Bellas Artes ನ ವೈಮಾನಿಕ ನೋಟ';

  @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 => 'ಸ್ಟಾಕ್‌ಗಳು';

  @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 => 'ಜೇನುಕೃಷಿಗೆ ಜೇನುನೊಣಗಳ ಕೊರತೆ';
}
