import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; import 'app_localizations_en.dart'; import 'app_localizations_id.dart'; import 'app_localizations_zh.dart'; // ignore_for_file: type=lint /// Callers can lookup localized strings with an instance of AppLocalizations /// returned by `AppLocalizations.of(context)`. /// /// Applications need to include `AppLocalizations.delegate()` in their app's /// `localizationDelegates` list, and the locales they support in the app's /// `supportedLocales` list. For example: /// /// ```dart /// import 'l10n/app_localizations.dart'; /// /// return MaterialApp( /// localizationsDelegates: AppLocalizations.localizationsDelegates, /// supportedLocales: AppLocalizations.supportedLocales, /// home: MyApplicationHome(), /// ); /// ``` /// /// ## Update pubspec.yaml /// /// Please make sure to update your pubspec.yaml to include the following /// packages: /// /// ```yaml /// dependencies: /// # Internationalization support. /// flutter_localizations: /// sdk: flutter /// intl: any # Use the pinned version from flutter_localizations /// /// # Rest of dependencies /// ``` /// /// ## iOS Applications /// /// iOS applications define key application metadata, including supported /// locales, in an Info.plist file that is built into the application bundle. /// To configure the locales supported by your app, you’ll need to edit this /// file. /// /// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. /// Then, in the Project Navigator, open the Info.plist file under the Runner /// project’s Runner folder. /// /// Next, select the Information Property List item, select Add Item from the /// Editor menu, then select Localizations from the pop-up menu. /// /// Select and expand the newly-created Localizations item then, for each /// locale your application supports, add a new item and select the locale /// you wish to add from the pop-up menu in the Value field. This list should /// be consistent with the languages listed in the AppLocalizations.supportedLocales /// property. abstract class AppLocalizations { AppLocalizations(String locale) : localeName = intl.Intl.canonicalizedLocale(locale.toString()); final String localeName; static AppLocalizations? of(BuildContext context) { return Localizations.of(context, AppLocalizations); } static const LocalizationsDelegate delegate = _AppLocalizationsDelegate(); /// A list of this localizations delegate along with the default localizations /// delegates. /// /// Returns a list of localizations delegates containing this delegate along with /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, /// and GlobalWidgetsLocalizations.delegate. /// /// Additional delegates can be added by appending to this list in /// MaterialApp. This list does not have to be used at all if a custom list /// of delegates is preferred or required. static const List> localizationsDelegates = >[ delegate, GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ]; /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ Locale('en'), Locale('id'), Locale('zh'), ]; /// No description provided for @appName. /// /// In en, this message translates to: /// **'FruitShorts'** String get appName; /// No description provided for @demo. /// /// In en, this message translates to: /// **'DEMO'** String get demo; /// No description provided for @homeHeadline. /// /// In en, this message translates to: /// **'Watch now'** String get homeHeadline; /// No description provided for @homeSubtitle. /// /// In en, this message translates to: /// **'Free short drama preview.'** String get homeSubtitle; /// No description provided for @mediaNotice. /// /// In en, this message translates to: /// **'User-provided local demo video · Free preview'** String get mediaNotice; /// No description provided for @featuredDemo. /// /// In en, this message translates to: /// **'FEATURED · TECHNICAL DEMO'** String get featuredDemo; /// No description provided for @demoTitle. /// /// In en, this message translates to: /// **'The Signal'** String get demoTitle; /// No description provided for @demoSynopsis. /// /// In en, this message translates to: /// **'A short local video preview. More episodes can be added when media is available.'** String get demoSynopsis; /// No description provided for @homeTab. /// /// In en, this message translates to: /// **'Home'** String get homeTab; /// No description provided for @theaterTab. /// /// In en, this message translates to: /// **'Theater'** String get theaterTab; /// No description provided for @createTab. /// /// In en, this message translates to: /// **'Create'** String get createTab; /// No description provided for @openQuickMenu. /// /// In en, this message translates to: /// **'Open quick menu'** String get openQuickMenu; /// No description provided for @quickAccess. /// /// In en, this message translates to: /// **'Quick access'** String get quickAccess; /// No description provided for @currentSeries. /// /// In en, this message translates to: /// **'Current series'** String get currentSeries; /// No description provided for @discoverTab. /// /// In en, this message translates to: /// **'Theater'** String get discoverTab; /// No description provided for @searchDiscover. /// /// In en, this message translates to: /// **'Search dramas, actors, genres...'** String get searchDiscover; /// No description provided for @featured. /// /// In en, this message translates to: /// **'Featured'** String get featured; /// No description provided for @recommended. /// /// In en, this message translates to: /// **'Recommended'** String get recommended; /// No description provided for @fruitShortsBrand. /// /// In en, this message translates to: /// **'FruitShorts'** String get fruitShortsBrand; /// No description provided for @authLandingSubtitle. /// /// In en, this message translates to: /// **'Sign in to sync progress, favorites and coins'** String get authLandingSubtitle; /// No description provided for @comingSoon. /// /// In en, this message translates to: /// **'Coming soon'** String get comingSoon; /// No description provided for @authLegal. /// /// In en, this message translates to: /// **'By continuing, you agree to the Terms of Service and Privacy Policy.'** String get authLegal; /// No description provided for @authContinueGoogle. /// /// In en, this message translates to: /// **'Continue with Google'** String get authContinueGoogle; /// No description provided for @authPhoneSignIn. /// /// In en, this message translates to: /// **'Phone sign in'** String get authPhoneSignIn; /// No description provided for @authEmailSignIn. /// /// In en, this message translates to: /// **'Email sign in'** String get authEmailSignIn; /// No description provided for @suspense. /// /// In en, this message translates to: /// **'Suspense'** String get suspense; /// No description provided for @romance. /// /// In en, this message translates to: /// **'Romance'** String get romance; /// No description provided for @actionGenre. /// /// In en, this message translates to: /// **'Action'** String get actionGenre; /// No description provided for @filter. /// /// In en, this message translates to: /// **'Filter'** String get filter; /// No description provided for @filterGroupCategory. /// /// In en, this message translates to: /// **'All genres'** String get filterGroupCategory; /// No description provided for @filterGroupTheme. /// /// In en, this message translates to: /// **'All themes'** String get filterGroupTheme; /// No description provided for @filterGroupLanguage. /// /// In en, this message translates to: /// **'All languages'** String get filterGroupLanguage; /// No description provided for @filterGroupSort. /// /// In en, this message translates to: /// **'All recommendations'** String get filterGroupSort; /// No description provided for @sortNewest. /// /// In en, this message translates to: /// **'Newest'** String get sortNewest; /// No description provided for @sortHottest. /// /// In en, this message translates to: /// **'Hottest'** String get sortHottest; /// No description provided for @expandFilters. /// /// In en, this message translates to: /// **'Expand'** String get expandFilters; /// No description provided for @collapseFilters. /// /// In en, this message translates to: /// **'Collapse'** String get collapseFilters; /// No description provided for @filterEmpty. /// /// In en, this message translates to: /// **'No dramas match these filters'** String get filterEmpty; /// No description provided for @hotBadge. /// /// In en, this message translates to: /// **'Hit'** String get hotBadge; /// No description provided for @filterAll. /// /// In en, this message translates to: /// **'All'** String get filterAll; /// No description provided for @seriesMeta. /// /// In en, this message translates to: /// **'Series · {episodes} eps | {viewers} watching'** String seriesMeta(String episodes, String viewers); /// No description provided for @watchFullSeries. /// /// In en, this message translates to: /// **'Watch full series · {episodes} eps'** String watchFullSeries(String episodes); /// No description provided for @feedTabAnime. /// /// In en, this message translates to: /// **'Anime'** String get feedTabAnime; /// No description provided for @feedTabReal. /// /// In en, this message translates to: /// **'Live-action'** String get feedTabReal; /// No description provided for @feedTabForYou. /// /// In en, this message translates to: /// **'For you'** String get feedTabForYou; /// No description provided for @authorNoteLabel. /// /// In en, this message translates to: /// **'Author note'** String get authorNoteLabel; /// No description provided for @reserve. /// /// In en, this message translates to: /// **'Reserve'** String get reserve; /// No description provided for @heatLabel. /// /// In en, this message translates to: /// **'{count} heat'** String heatLabel(String count); /// No description provided for @topCharts. /// /// In en, this message translates to: /// **'Hot Ranking'** String get topCharts; /// No description provided for @newReleases. /// /// In en, this message translates to: /// **'New Releases'** String get newReleases; /// No description provided for @newDramas. /// /// In en, this message translates to: /// **'New'** String get newDramas; /// No description provided for @trendingMicroDramas. /// /// In en, this message translates to: /// **'Trending Micro-Dramas'** String get trendingMicroDramas; /// No description provided for @seeAll. /// /// In en, this message translates to: /// **'See All'** String get seeAll; /// No description provided for @trendingSubtitle. /// /// In en, this message translates to: /// **'Most binge-watched this week'** String get trendingSubtitle; /// No description provided for @verticalMiniSeries. /// /// In en, this message translates to: /// **'VERTICAL MINI-SERIES'** String get verticalMiniSeries; /// No description provided for @followSeries. /// /// In en, this message translates to: /// **'Follow Series'** String get followSeries; /// No description provided for @seasonOneVerticalCinema. /// /// In en, this message translates to: /// **'Season 1 • Vertical Cinema'** String get seasonOneVerticalCinema; /// No description provided for @seasonOneOriginalRelease. /// /// In en, this message translates to: /// **'Season 1 • Original Release'** String get seasonOneOriginalRelease; /// No description provided for @startWatching. /// /// In en, this message translates to: /// **'Start Watching'** String get startWatching; /// No description provided for @showLess. /// /// In en, this message translates to: /// **'Less'** String get showLess; /// No description provided for @expandSynopsis. /// /// In en, this message translates to: /// **'More'** String get expandSynopsis; /// No description provided for @views. /// /// In en, this message translates to: /// **'views'** String get views; /// No description provided for @episodeOfTotal. /// /// In en, this message translates to: /// **'Episode {current} / {total}'** String episodeOfTotal(int current, int total); /// No description provided for @clearScreen. /// /// In en, this message translates to: /// **'Clear screen'** String get clearScreen; /// No description provided for @exitClearScreen. /// /// In en, this message translates to: /// **'Exit clear screen'** String get exitClearScreen; /// No description provided for @playbackSpeed. /// /// In en, this message translates to: /// **'Playback speed'** String get playbackSpeed; /// No description provided for @speedBoosting. /// /// In en, this message translates to: /// **'{speed}x speed'** String speedBoosting(String speed); /// No description provided for @minutesAgo. /// /// In en, this message translates to: /// **'{count} min ago'** String minutesAgo(int count); /// No description provided for @justNow. /// /// In en, this message translates to: /// **'Just now'** String get justNow; /// No description provided for @hoursAgo. /// /// In en, this message translates to: /// **'{count} hours ago'** String hoursAgo(int count); /// No description provided for @artworkOnly. /// /// In en, this message translates to: /// **'Artwork'** String get artworkOnly; /// No description provided for @artworkOnlyNotice. /// /// In en, this message translates to: /// **'This is a visual catalog item. No video is available yet.'** String get artworkOnlyNotice; /// No description provided for @videoPending. /// /// In en, this message translates to: /// **'Video pending'** String get videoPending; /// No description provided for @watchNow. /// /// In en, this message translates to: /// **'Watch free'** String get watchNow; /// No description provided for @noSearchResults. /// /// In en, this message translates to: /// **'No matching dramas.'** String get noSearchResults; /// No description provided for @emptyHint. /// /// In en, this message translates to: /// **'New content will appear here.'** String get emptyHint; /// No description provided for @demoCatalogNotice. /// /// In en, this message translates to: /// **'Three demo dramas share the same local video.'** String get demoCatalogNotice; /// No description provided for @myTab. /// /// In en, this message translates to: /// **'My'** String get myTab; /// No description provided for @localDemoProfile. /// /// In en, this message translates to: /// **'Local demo profile'** String get localDemoProfile; /// No description provided for @continueWatching. /// /// In en, this message translates to: /// **'Continue Watching'** String get continueWatching; /// No description provided for @episodeRemaining. /// /// In en, this message translates to: /// **'Episode {episode} · {minutes} min left'** String episodeRemaining(int episode, int minutes); /// No description provided for @viewCountLabel. /// /// In en, this message translates to: /// **'{count} views'** String viewCountLabel(int count); /// No description provided for @allEpisodesBadge. /// /// In en, this message translates to: /// **'All {count}'** String allEpisodesBadge(int count); /// No description provided for @lockedEpisodeCount. /// /// In en, this message translates to: /// **'{count} locked'** String lockedEpisodeCount(int count); /// No description provided for @watchedPercent. /// /// In en, this message translates to: /// **'Watched {percent}%'** String watchedPercent(int percent); /// No description provided for @resume. /// /// In en, this message translates to: /// **'Resume'** String get resume; /// No description provided for @history. /// /// In en, this message translates to: /// **'History'** String get history; /// No description provided for @likedTab. /// /// In en, this message translates to: /// **'Liked'** String get likedTab; /// No description provided for @all. /// /// In en, this message translates to: /// **'All'** String get all; /// No description provided for @inProgress. /// /// In en, this message translates to: /// **'In Progress'** String get inProgress; /// No description provided for @completed. /// /// In en, this message translates to: /// **'Completed'** String get completed; /// No description provided for @noSavedShows. /// /// In en, this message translates to: /// **'No shows here yet.'** String get noSavedShows; /// No description provided for @preferences. /// /// In en, this message translates to: /// **'Preferences'** String get preferences; /// No description provided for @followingTab. /// /// In en, this message translates to: /// **'Following'** String get followingTab; /// No description provided for @animatedTab. /// /// In en, this message translates to: /// **'Animated'** String get animatedTab; /// No description provided for @recommendedTab. /// /// In en, this message translates to: /// **'Recommend'** String get recommendedTab; /// No description provided for @noCategoryDramas. /// /// In en, this message translates to: /// **'No dramas in this category yet.'** String get noCategoryDramas; /// No description provided for @allDramas. /// /// In en, this message translates to: /// **'All Dramas'** String get allDramas; /// No description provided for @allLanguages. /// /// In en, this message translates to: /// **'All languages'** String get allLanguages; /// No description provided for @bahasaMelayu. /// /// In en, this message translates to: /// **'Malay'** String get bahasaMelayu; /// No description provided for @createSubtitle. /// /// In en, this message translates to: /// **'Stories become short dramas'** String get createSubtitle; /// No description provided for @createAiTitle. /// /// In en, this message translates to: /// **'AI production'** String get createAiTitle; /// No description provided for @createAiSubtitle. /// /// In en, this message translates to: /// **'Start from a story or an idea'** String get createAiSubtitle; /// No description provided for @createUploadTitle. /// /// In en, this message translates to: /// **'Upload and publish'** String get createUploadTitle; /// No description provided for @createUploadSubtitle. /// /// In en, this message translates to: /// **'Publish a finished short drama'** String get createUploadSubtitle; /// No description provided for @createMottoPrimary. /// /// In en, this message translates to: /// **'Your imagination'** String get createMottoPrimary; /// No description provided for @createMottoSecondary. /// /// In en, this message translates to: /// **'Can be seen by more people'** String get createMottoSecondary; /// No description provided for @newReleasesTitle. /// /// In en, this message translates to: /// **'New premieres'** String get newReleasesTitle; /// No description provided for @newReleasesCount. /// /// In en, this message translates to: /// **'{count} new this week'** String newReleasesCount(int count); /// No description provided for @premiereToday. /// /// In en, this message translates to: /// **'Today\'s premiere'** String get premiereToday; /// No description provided for @newBadge. /// /// In en, this message translates to: /// **'NEW'** String get newBadge; /// No description provided for @reserveTitle. /// /// In en, this message translates to: /// **'Schedule booking'** String get reserveTitle; /// No description provided for @goNewReleases. /// /// In en, this message translates to: /// **'Browse new releases'** String get goNewReleases; /// No description provided for @reserveStepsTitle. /// /// In en, this message translates to: /// **'What you get after reserving'** String get reserveStepsTitle; /// No description provided for @reserveStep1. /// /// In en, this message translates to: /// **'One-tap reserve'** String get reserveStep1; /// No description provided for @reserveStep2. /// /// In en, this message translates to: /// **'Premiere reminder'** String get reserveStep2; /// No description provided for @reserveStep3. /// /// In en, this message translates to: /// **'Watch right away'** String get reserveStep3; /// No description provided for @reserveWeek. /// /// In en, this message translates to: /// **'This week'** String get reserveWeek; /// No description provided for @weekdayMon. /// /// In en, this message translates to: /// **'Mon'** String get weekdayMon; /// No description provided for @weekdayTue. /// /// In en, this message translates to: /// **'Tue'** String get weekdayTue; /// No description provided for @weekdayWed. /// /// In en, this message translates to: /// **'Wed'** String get weekdayWed; /// No description provided for @weekdayThu. /// /// In en, this message translates to: /// **'Thu'** String get weekdayThu; /// No description provided for @weekdayFri. /// /// In en, this message translates to: /// **'Fri'** String get weekdayFri; /// No description provided for @weekdaySat. /// /// In en, this message translates to: /// **'Sat'** String get weekdaySat; /// No description provided for @weekdaySun. /// /// In en, this message translates to: /// **'Sun'** String get weekdaySun; /// No description provided for @trendingTab. /// /// In en, this message translates to: /// **'Trending'** String get trendingTab; /// No description provided for @liveActionTab. /// /// In en, this message translates to: /// **'Live Action'** String get liveActionTab; /// No description provided for @search. /// /// In en, this message translates to: /// **'Search'** String get search; /// No description provided for @free. /// /// In en, this message translates to: /// **'Free'** String get free; /// No description provided for @mute. /// /// In en, this message translates to: /// **'Mute'** String get mute; /// No description provided for @unmute. /// /// In en, this message translates to: /// **'Unmute'** String get unmute; /// No description provided for @like. /// /// In en, this message translates to: /// **'Like'** String get like; /// No description provided for @save. /// /// In en, this message translates to: /// **'Save'** String get save; /// No description provided for @comments. /// /// In en, this message translates to: /// **'Comments'** String get comments; /// No description provided for @share. /// /// In en, this message translates to: /// **'Share'** String get share; /// No description provided for @noComments. /// /// In en, this message translates to: /// **'No comments yet.'** String get noComments; /// No description provided for @writeComment. /// /// In en, this message translates to: /// **'Write a comment'** String get writeComment; /// No description provided for @commentLoginHint. /// /// In en, this message translates to: /// **'Sign in to comment'** String get commentLoginHint; /// No description provided for @postComment. /// /// In en, this message translates to: /// **'Post'** String get postComment; /// No description provided for @commentPostSuccess. /// /// In en, this message translates to: /// **'Comment posted'** String get commentPostSuccess; /// No description provided for @loadMore. /// /// In en, this message translates to: /// **'Load more'** String get loadMore; /// No description provided for @commentsLoadFailed. /// /// In en, this message translates to: /// **'Comments could not be loaded.'** String get commentsLoadFailed; /// No description provided for @commentPostFailed. /// /// In en, this message translates to: /// **'Could not post your comment.'** String get commentPostFailed; /// No description provided for @delete. /// /// In en, this message translates to: /// **'Delete'** String get delete; /// No description provided for @deleteComment. /// /// In en, this message translates to: /// **'Delete comment'** String get deleteComment; /// No description provided for @deleteCommentTitle. /// /// In en, this message translates to: /// **'Delete this comment?'** String get deleteCommentTitle; /// No description provided for @deleteCommentMessage. /// /// In en, this message translates to: /// **'This removes your comment from the conversation.'** String get deleteCommentMessage; /// No description provided for @commentDeleteFailed. /// /// In en, this message translates to: /// **'Could not delete this comment.'** String get commentDeleteFailed; /// No description provided for @underReview. /// /// In en, this message translates to: /// **'Under review'** String get underReview; /// No description provided for @reply. /// /// In en, this message translates to: /// **'Reply'** String get reply; /// No description provided for @replyingTo. /// /// In en, this message translates to: /// **'Replying to {name}'** String replyingTo(Object name); /// No description provided for @cancelReply. /// /// In en, this message translates to: /// **'Cancel reply'** String get cancelReply; /// No description provided for @viewReplies. /// /// In en, this message translates to: /// **'View replies ({count})'** String viewReplies(int count); /// No description provided for @hideReplies. /// /// In en, this message translates to: /// **'Hide replies'** String get hideReplies; /// No description provided for @anonymousUser. /// /// In en, this message translates to: /// **'Viewer'** String get anonymousUser; /// No description provided for @more. /// /// In en, this message translates to: /// **'More'** String get more; /// No description provided for @likeFailed. /// /// In en, this message translates to: /// **'Could not update like. Please retry.'** String get likeFailed; /// No description provided for @reportComment. /// /// In en, this message translates to: /// **'Report comment'** String get reportComment; /// No description provided for @reportDrama. /// /// In en, this message translates to: /// **'Report drama'** String get reportDrama; /// No description provided for @reportReason. /// /// In en, this message translates to: /// **'Reason'** String get reportReason; /// No description provided for @reportReasonSpam. /// /// In en, this message translates to: /// **'Spam'** String get reportReasonSpam; /// No description provided for @reportReasonAbuse. /// /// In en, this message translates to: /// **'Harassment'** String get reportReasonAbuse; /// No description provided for @reportReasonPorn. /// /// In en, this message translates to: /// **'Sexual content'** String get reportReasonPorn; /// No description provided for @reportReasonAd. /// /// In en, this message translates to: /// **'Advertising'** String get reportReasonAd; /// No description provided for @reportReasonOther. /// /// In en, this message translates to: /// **'Other'** String get reportReasonOther; /// No description provided for @reportDescriptionHint. /// /// In en, this message translates to: /// **'Describe the issue (optional)'** String get reportDescriptionHint; /// No description provided for @reportSubmit. /// /// In en, this message translates to: /// **'Submit report'** String get reportSubmit; /// No description provided for @reportSubmitted. /// /// In en, this message translates to: /// **'Report submitted. Thank you.'** String get reportSubmitted; /// No description provided for @reportFailed. /// /// In en, this message translates to: /// **'Could not submit report.'** String get reportFailed; /// No description provided for @shareFailed. /// /// In en, this message translates to: /// **'Could not open the share sheet.'** String get shareFailed; /// No description provided for @nowPlaying. /// /// In en, this message translates to: /// **'Playing now'** String get nowPlaying; /// No description provided for @pictureInPicture. /// /// In en, this message translates to: /// **'Picture in picture'** String get pictureInPicture; /// No description provided for @pipUnavailable. /// /// In en, this message translates to: /// **'Picture in picture is unavailable on this device'** String get pipUnavailable; /// No description provided for @originalTag. /// /// In en, this message translates to: /// **'Original'** String get originalTag; /// No description provided for @dramaTag. /// /// In en, this message translates to: /// **'Short drama'** String get dramaTag; /// No description provided for @episodeLabel. /// /// In en, this message translates to: /// **'Episode {number}'** String episodeLabel(int number); /// No description provided for @exploreSeries. /// /// In en, this message translates to: /// **'Explore series'** String get exploreSeries; /// No description provided for @episodeCount. /// /// In en, this message translates to: /// **'{count} EPISODES'** String episodeCount(int count); /// No description provided for @technicalDemoCount. /// /// In en, this message translates to: /// **'FREE PREVIEW · {count} EPISODES'** String technicalDemoCount(int count); /// No description provided for @episodes. /// /// In en, this message translates to: /// **'Episodes'** String get episodes; /// No description provided for @synopsisTitle. /// /// In en, this message translates to: /// **'Synopsis'** String get synopsisTitle; /// No description provided for @watchEpisodeOne. /// /// In en, this message translates to: /// **'Watch episode 1'** String get watchEpisodeOne; /// No description provided for @continueEpisode. /// /// In en, this message translates to: /// **'Continue episode {number}'** String continueEpisode(int number); /// No description provided for @freeTestMedia. /// /// In en, this message translates to: /// **'Same demo clip · free'** String get freeTestMedia; /// No description provided for @lockedStoreUnavailable. /// /// In en, this message translates to: /// **'Locked · store unavailable'** String get lockedStoreUnavailable; /// No description provided for @freeTestClip. /// /// In en, this message translates to: /// **'Free test clip'** String get freeTestClip; /// No description provided for @locked. /// /// In en, this message translates to: /// **'Locked'** String get locked; /// No description provided for @freeSamplesNotice. /// /// In en, this message translates to: /// **'Two free samples · store setup pending'** String get freeSamplesNotice; /// No description provided for @demoTestMedia. /// /// In en, this message translates to: /// **'FREE · SAME DEMO CLIP'** String get demoTestMedia; /// No description provided for @episodeProgress. /// /// In en, this message translates to: /// **'EPISODE {number} / {total}'** String episodeProgress(int number, int total); /// No description provided for @testVideoNotice. /// /// In en, this message translates to: /// **'Self-generated technical test video'** String get testVideoNotice; /// No description provided for @lockedTitle. /// /// In en, this message translates to: /// **'Episode {number} is locked'** String lockedTitle(int number); /// No description provided for @lockedBody. /// /// In en, this message translates to: /// **'Unlocking will be available after store and verification setup. This demo does not process payments.'** String get lockedBody; /// No description provided for @playbackError. /// /// In en, this message translates to: /// **'This clip could not be played.'** String get playbackError; /// No description provided for @catalogError. /// /// In en, this message translates to: /// **'The catalog could not be loaded.'** String get catalogError; /// No description provided for @categoriesError. /// /// In en, this message translates to: /// **'Categories could not be loaded.'** String get categoriesError; /// No description provided for @detailError. /// /// In en, this message translates to: /// **'The episode list could not be loaded.'** String get detailError; /// No description provided for @noMediaNotice. /// /// In en, this message translates to: /// **'This episode has no playable media yet.'** String get noMediaNotice; /// No description provided for @noStories. /// /// In en, this message translates to: /// **'No stories available yet.'** String get noStories; /// No description provided for @notices. /// /// In en, this message translates to: /// **'Notices'** String get notices; /// No description provided for @noNotices. /// /// In en, this message translates to: /// **'No notices yet.'** String get noNotices; /// No description provided for @noticesLoadFailed. /// /// In en, this message translates to: /// **'Notices could not be loaded.'** String get noticesLoadFailed; /// No description provided for @noticeDetails. /// /// In en, this message translates to: /// **'Notice details'** String get noticeDetails; /// No description provided for @noticeAnnouncement. /// /// In en, this message translates to: /// **'Notice'** String get noticeAnnouncement; /// No description provided for @close. /// /// In en, this message translates to: /// **'Close'** String get close; /// No description provided for @carouselSemantics. /// /// In en, this message translates to: /// **'Banner {current} of {total}'** String carouselSemantics(int current, int total); /// No description provided for @retry. /// /// In en, this message translates to: /// **'Retry'** String get retry; /// No description provided for @backToSeries. /// /// In en, this message translates to: /// **'Back to series'** String get backToSeries; /// No description provided for @nextEpisode. /// /// In en, this message translates to: /// **'Next episode'** String get nextEpisode; /// No description provided for @pause. /// /// In en, this message translates to: /// **'Pause'** String get pause; /// No description provided for @play. /// /// In en, this message translates to: /// **'Play'** String get play; /// No description provided for @seekVideo. /// /// In en, this message translates to: /// **'Seek video'** String get seekVideo; /// No description provided for @seekFailed. /// /// In en, this message translates to: /// **'Could not change playback position.'** String get seekFailed; /// No description provided for @captions. /// /// In en, this message translates to: /// **'Captions'** String get captions; /// No description provided for @captionsOff. /// /// In en, this message translates to: /// **'Captions off'** String get captionsOff; /// No description provided for @englishCaptions. /// /// In en, this message translates to: /// **'English captions'** String get englishCaptions; /// No description provided for @chineseCaptions. /// /// In en, this message translates to: /// **'Chinese captions'** String get chineseCaptions; /// No description provided for @english. /// /// In en, this message translates to: /// **'English'** String get english; /// No description provided for @simplifiedChinese. /// /// In en, this message translates to: /// **'简体中文'** String get simplifiedChinese; /// No description provided for @bahasaIndonesia. /// /// In en, this message translates to: /// **'Bahasa Indonesia'** String get bahasaIndonesia; /// No description provided for @episodeOneTitle. /// /// In en, this message translates to: /// **'First Light'** String get episodeOneTitle; /// No description provided for @episodeTwoTitle. /// /// In en, this message translates to: /// **'A New Frequency'** String get episodeTwoTitle; /// No description provided for @episodeThreeTitle. /// /// In en, this message translates to: /// **'Crossing Over'** String get episodeThreeTitle; /// No description provided for @episodeFourTitle. /// /// In en, this message translates to: /// **'After the Echo'** String get episodeFourTitle; /// No description provided for @dramaSignalTitle. /// /// In en, this message translates to: /// **'The Signal'** String get dramaSignalTitle; /// No description provided for @dramaSignalSynopsis. /// /// In en, this message translates to: /// **'A demo series for vertical playback. Every episode reuses one local clip.'** String get dramaSignalSynopsis; /// No description provided for @dramaCityTitle. /// /// In en, this message translates to: /// **'City Lights & Velvet Nights'** String get dramaCityTitle; /// No description provided for @dramaCitySynopsis. /// /// In en, this message translates to: /// **'A demo romance series. The same local video is used to try switching and resume.'** String get dramaCitySynopsis; /// No description provided for @dramaVengeanceTitle. /// /// In en, this message translates to: /// **'Vengeance Rising'** String get dramaVengeanceTitle; /// No description provided for @dramaVengeanceSynopsis. /// /// In en, this message translates to: /// **'A demo action series. The same local video is used to try switching and resume.'** String get dramaVengeanceSynopsis; /// No description provided for @dramaEchoesTitle. /// /// In en, this message translates to: /// **'Echoes of Fate'** String get dramaEchoesTitle; /// No description provided for @genreSuspenseMystery. /// /// In en, this message translates to: /// **'Suspense · Mystery'** String get genreSuspenseMystery; /// No description provided for @genreUrbanRomance. /// /// In en, this message translates to: /// **'Urban Romance'** String get genreUrbanRomance; /// No description provided for @genreActionThriller. /// /// In en, this message translates to: /// **'Action · Thriller'** String get genreActionThriller; /// No description provided for @genreDramaMystery. /// /// In en, this message translates to: /// **'Drama · Mystery'** String get genreDramaMystery; /// No description provided for @continueWatchingHeading. /// /// In en, this message translates to: /// **'CONTINUE WATCHING'** String get continueWatchingHeading; /// No description provided for @preferencesHeading. /// /// In en, this message translates to: /// **'PREFERENCES'** String get preferencesHeading; /// No description provided for @brandMark. /// /// In en, this message translates to: /// **'FRUITSHORTS'** String get brandMark; /// No description provided for @shareFooter. /// /// In en, this message translates to: /// **'FruitShorts'** String get shareFooter; /// No description provided for @shortsTab. /// /// In en, this message translates to: /// **'Shorts'** String get shortsTab; /// No description provided for @myListTab. /// /// In en, this message translates to: /// **'My List'** String get myListTab; /// No description provided for @watchFull. /// /// In en, this message translates to: /// **'Watch Full'** String get watchFull; /// No description provided for @swipeForNext. /// /// In en, this message translates to: /// **'Swipe up for next'** String get swipeForNext; /// No description provided for @logIn. /// /// In en, this message translates to: /// **'Log in'** String get logIn; /// No description provided for @logInHint. /// /// In en, this message translates to: /// **'Keep your coins and list'** String get logInHint; /// No description provided for @rewards. /// /// In en, this message translates to: /// **'Rewards'** String get rewards; /// No description provided for @forYou. /// /// In en, this message translates to: /// **'For You'** String get forYou; /// No description provided for @hot. /// /// In en, this message translates to: /// **'Hot'** String get hot; /// No description provided for @newest. /// /// In en, this message translates to: /// **'New'** String get newest; /// No description provided for @favorite. /// /// In en, this message translates to: /// **'Favorite'** String get favorite; /// No description provided for @myAccount. /// /// In en, this message translates to: /// **'My account'** String get myAccount; /// No description provided for @myWorks. /// /// In en, this message translates to: /// **'My works'** String get myWorks; /// No description provided for @creatorCenter. /// /// In en, this message translates to: /// **'Creator center'** String get creatorCenter; /// No description provided for @helpFeedback. /// /// In en, this message translates to: /// **'Help & feedback'** String get helpFeedback; /// No description provided for @vipUnlockMessage. /// /// In en, this message translates to: /// **'Unlock more with membership'** String get vipUnlockMessage; /// No description provided for @coins. /// /// In en, this message translates to: /// **'Coins'** String get coins; /// No description provided for @topUpWallet. /// /// In en, this message translates to: /// **'Top Up Wallet'** String get topUpWallet; /// No description provided for @vipMembership. /// /// In en, this message translates to: /// **'VIP Membership'** String get vipMembership; /// No description provided for @notActive. /// /// In en, this message translates to: /// **'Not Active'** String get notActive; /// No description provided for @joinVip. /// /// In en, this message translates to: /// **'Join VIP'** String get joinVip; /// No description provided for @earnRewards. /// /// In en, this message translates to: /// **'Earn Rewards'** String get earnRewards; /// No description provided for @freeBonus. /// /// In en, this message translates to: /// **'Get Free Bonus'** String get freeBonus; /// No description provided for @watchHistory. /// /// In en, this message translates to: /// **'Watch History'** String get watchHistory; /// No description provided for @settings. /// /// In en, this message translates to: /// **'Settings'** String get settings; /// No description provided for @serverAddress. /// /// In en, this message translates to: /// **'Server address'** String get serverAddress; /// No description provided for @serverSettings. /// /// In en, this message translates to: /// **'Server settings'** String get serverSettings; /// No description provided for @serverAddressHint. /// /// In en, this message translates to: /// **'http(s)://host:port'** String get serverAddressHint; /// No description provided for @saveAddress. /// /// In en, this message translates to: /// **'Save address'** String get saveAddress; /// No description provided for @restartToApply. /// /// In en, this message translates to: /// **'Restart the app to apply.'** String get restartToApply; /// No description provided for @restoreDefault. /// /// In en, this message translates to: /// **'Restore default'** String get restoreDefault; /// No description provided for @invalidServerAddress. /// /// In en, this message translates to: /// **'Enter a valid http(s) server address.'** String get invalidServerAddress; /// No description provided for @signOut. /// /// In en, this message translates to: /// **'Sign Out'** String get signOut; /// No description provided for @mockUserName. /// /// In en, this message translates to: /// **'Vicky sheng'** String get mockUserName; /// No description provided for @mockUserId. /// /// In en, this message translates to: /// **'ID: M1CZWVYE'** String get mockUserId; /// No description provided for @mockNotice. /// /// In en, this message translates to: /// **'Sample data only.'** String get mockNotice; /// No description provided for @topBadge. /// /// In en, this message translates to: /// **'TOP 1'** String get topBadge; /// No description provided for @signIn. /// /// In en, this message translates to: /// **'Sign In'** String get signIn; /// No description provided for @signUp. /// /// In en, this message translates to: /// **'Sign Up'** String get signUp; /// No description provided for @authSignInTitle. /// /// In en, this message translates to: /// **'Welcome back'** String get authSignInTitle; /// No description provided for @authSignUpTitle. /// /// In en, this message translates to: /// **'Create your account'** String get authSignUpTitle; /// No description provided for @authSubtitle. /// /// In en, this message translates to: /// **'Sign in with your email and password.'** String get authSubtitle; /// No description provided for @authSignUpSubtitle. /// /// In en, this message translates to: /// **'Create an account to keep your list, history, and progress.'** String get authSignUpSubtitle; /// No description provided for @authBrandTagline. /// /// In en, this message translates to: /// **'Short dramas made for Indonesia'** String get authBrandTagline; /// No description provided for @authEmailLabel. /// /// In en, this message translates to: /// **'Email'** String get authEmailLabel; /// No description provided for @authPasswordLabel. /// /// In en, this message translates to: /// **'Password'** String get authPasswordLabel; /// No description provided for @authPasswordHint. /// /// In en, this message translates to: /// **'At least 8 characters, letters and numbers'** String get authPasswordHint; /// No description provided for @authEmailRequired. /// /// In en, this message translates to: /// **'Enter your email'** String get authEmailRequired; /// No description provided for @authEmailInvalid. /// /// In en, this message translates to: /// **'That email doesn\'t look right'** String get authEmailInvalid; /// No description provided for @authPasswordRequired. /// /// In en, this message translates to: /// **'Enter your password'** String get authPasswordRequired; /// No description provided for @authPasswordLength. /// /// In en, this message translates to: /// **'Password must be 8-64 characters'** String get authPasswordLength; /// No description provided for @authPasswordWeak. /// /// In en, this message translates to: /// **'Password needs both letters and numbers'** String get authPasswordWeak; /// No description provided for @authNetworkError. /// /// In en, this message translates to: /// **'Network error, please try again'** String get authNetworkError; /// No description provided for @authSwitchToSignUp. /// /// In en, this message translates to: /// **'New here? Create an account'** String get authSwitchToSignUp; /// No description provided for @authSwitchToSignIn. /// /// In en, this message translates to: /// **'Already have an account? Sign in'** String get authSwitchToSignIn; /// No description provided for @authGateTitle. /// /// In en, this message translates to: /// **'Sign in to continue'** String get authGateTitle; /// No description provided for @authGateMessage. /// /// In en, this message translates to: /// **'Watch history, favorites, comments and downloads need an account.'** String get authGateMessage; /// No description provided for @authGateAction. /// /// In en, this message translates to: /// **'Sign In'** String get authGateAction; /// No description provided for @showPassword. /// /// In en, this message translates to: /// **'Show password'** String get showPassword; /// No description provided for @hidePassword. /// /// In en, this message translates to: /// **'Hide password'** String get hidePassword; /// No description provided for @cancel. /// /// In en, this message translates to: /// **'Not now'** String get cancel; /// No description provided for @noEpisodesYet. /// /// In en, this message translates to: /// **'No playable episodes yet.'** String get noEpisodesYet; /// No description provided for @networkError. /// /// In en, this message translates to: /// **'Network is unreachable. Please check your connection and retry.'** String get networkError; /// No description provided for @progressError. /// /// In en, this message translates to: /// **'Your watch position could not be loaded.'** String get progressError; /// No description provided for @favoritesError. /// /// In en, this message translates to: /// **'Your favorites could not be loaded.'** String get favoritesError; /// No description provided for @favoriteToggleFailed. /// /// In en, this message translates to: /// **'Could not update favorites. Please retry.'** String get favoriteToggleFailed; /// No description provided for @myFavorites. /// /// In en, this message translates to: /// **'My favorites'** String get myFavorites; /// No description provided for @noFavorites. /// /// In en, this message translates to: /// **'No favorites yet.'** String get noFavorites; /// No description provided for @downloads. /// /// In en, this message translates to: /// **'Downloads'** String get downloads; /// No description provided for @downloadsError. /// /// In en, this message translates to: /// **'Download settings could not be loaded.'** String get downloadsError; /// No description provided for @noDownloads. /// /// In en, this message translates to: /// **'No download authorizations yet.'** String get noDownloads; /// No description provided for @downloadedItems. /// /// In en, this message translates to: /// **'Download authorizations'** String get downloadedItems; /// No description provided for @downloadQuota. /// /// In en, this message translates to: /// **'{remaining} of {max} authorizations available'** String downloadQuota(int remaining, int max); /// No description provided for @downloadLicenseDays. /// /// In en, this message translates to: /// **'Authorization valid for {days} days'** String downloadLicenseDays(int days); /// No description provided for @downloadWifiOnly. /// /// In en, this message translates to: /// **'Wi-Fi only'** String get downloadWifiOnly; /// No description provided for @downloadQuality. /// /// In en, this message translates to: /// **'Maximum quality'** String get downloadQuality; /// No description provided for @downloadStatus. /// /// In en, this message translates to: /// **'Authorization: {status}'** String downloadStatus(Object status); /// No description provided for @downloadTaskStatus. /// /// In en, this message translates to: /// **'Task: {status}'** String downloadTaskStatus(Object status); /// No description provided for @downloadProgress. /// /// In en, this message translates to: /// **'{progress}%'** String downloadProgress(int progress); /// No description provided for @downloadExpiresAt. /// /// In en, this message translates to: /// **'Expires {time}'** String downloadExpiresAt(Object time); /// No description provided for @clearDownloadsTitle. /// /// In en, this message translates to: /// **'Clear download authorizations?'** String get clearDownloadsTitle; /// No description provided for @clearDownloadsMessage. /// /// In en, this message translates to: /// **'This revokes every download authorization for this device.'** String get clearDownloadsMessage; /// No description provided for @downloadSettingsFailed. /// /// In en, this message translates to: /// **'Could not update download settings.'** String get downloadSettingsFailed; /// No description provided for @downloadDeleteFailed. /// /// In en, this message translates to: /// **'Could not remove this download authorization.'** String get downloadDeleteFailed; /// No description provided for @downloadClearFailed. /// /// In en, this message translates to: /// **'Could not clear download authorizations.'** String get downloadClearFailed; /// No description provided for @downloadGrantFailed. /// /// In en, this message translates to: /// **'Could not request this download.'** String get downloadGrantFailed; /// No description provided for @downloadGranted. /// /// In en, this message translates to: /// **'Download authorization is ready.'** String get downloadGranted; /// No description provided for @noWatchRecords. /// /// In en, this message translates to: /// **'No watch history yet.'** String get noWatchRecords; /// No description provided for @recordDeleteFailed. /// /// In en, this message translates to: /// **'Could not delete this record. Please retry.'** String get recordDeleteFailed; /// No description provided for @recordClearFailed. /// /// In en, this message translates to: /// **'Could not clear watch history. Please retry.'** String get recordClearFailed; /// No description provided for @clearAll. /// /// In en, this message translates to: /// **'Clear all'** String get clearAll; /// No description provided for @watchRecordsCount. /// /// In en, this message translates to: /// **'{count} records'** String watchRecordsCount(int count); /// No description provided for @favoritesCount. /// /// In en, this message translates to: /// **'{count} favorites'** String favoritesCount(int count); /// No description provided for @clearWatchHistoryTitle. /// /// In en, this message translates to: /// **'Clear watch history?'** String get clearWatchHistoryTitle; /// No description provided for @clearWatchHistoryMessage. /// /// In en, this message translates to: /// **'This removes the watch history from your account.'** String get clearWatchHistoryMessage; /// No description provided for @confirmClear. /// /// In en, this message translates to: /// **'Clear'** String get confirmClear; /// No description provided for @detailLoadFailed. /// /// In en, this message translates to: /// **'Details failed to load'** String get detailLoadFailed; /// No description provided for @retryDetail. /// /// In en, this message translates to: /// **'Retry'** String get retryDetail; /// No description provided for @episodeUnavailable. /// /// In en, this message translates to: /// **'Episode unavailable'** String get episodeUnavailable; /// No description provided for @updatedAtLabel. /// /// In en, this message translates to: /// **'Updated {time}'** String updatedAtLabel(Object time); /// No description provided for @remove. /// /// In en, this message translates to: /// **'Remove'** String get remove; /// No description provided for @unlockComingSoon. /// /// In en, this message translates to: /// **'Unlocking with coins is coming soon.'** String get unlockComingSoon; /// No description provided for @resumeProgress. /// /// In en, this message translates to: /// **'Resume at {position} / {total}'** String resumeProgress(Object position, Object total); /// No description provided for @accountCenter. /// /// In en, this message translates to: /// **'Account'** String get accountCenter; /// No description provided for @accountProfile. /// /// In en, this message translates to: /// **'Profile'** String get accountProfile; /// No description provided for @accountDevices. /// /// In en, this message translates to: /// **'Login devices'** String get accountDevices; /// No description provided for @accountDataExport. /// /// In en, this message translates to: /// **'Data export'** String get accountDataExport; /// No description provided for @accountDeactivate. /// /// In en, this message translates to: /// **'Delete account'** String get accountDeactivate; /// No description provided for @accountProfileLoadFailed. /// /// In en, this message translates to: /// **'Could not load your profile.'** String get accountProfileLoadFailed; /// No description provided for @accountProfileSaveFailed. /// /// In en, this message translates to: /// **'Could not save your profile.'** String get accountProfileSaveFailed; /// No description provided for @accountNickname. /// /// In en, this message translates to: /// **'Nickname'** String get accountNickname; /// No description provided for @accountNicknameInvalid. /// /// In en, this message translates to: /// **'Enter 1 to 30 characters.'** String get accountNicknameInvalid; /// No description provided for @accountGender. /// /// In en, this message translates to: /// **'Gender'** String get accountGender; /// No description provided for @accountMale. /// /// In en, this message translates to: /// **'Male'** String get accountMale; /// No description provided for @accountFemale. /// /// In en, this message translates to: /// **'Female'** String get accountFemale; /// No description provided for @accountUnknownGender. /// /// In en, this message translates to: /// **'Prefer not to say'** String get accountUnknownGender; /// No description provided for @accountSelectBirthday. /// /// In en, this message translates to: /// **'Set birthday'** String get accountSelectBirthday; /// No description provided for @accountBirthdayHint. /// /// In en, this message translates to: /// **'Birthday can be set but not cleared in this version.'** String get accountBirthdayHint; /// No description provided for @accountSaved. /// /// In en, this message translates to: /// **'Profile saved.'** String get accountSaved; /// No description provided for @accountReadOnlyInfo. /// /// In en, this message translates to: /// **'Account information'** String get accountReadOnlyInfo; /// No description provided for @accountUid. /// /// In en, this message translates to: /// **'UID'** String get accountUid; /// No description provided for @accountMaskedAccount. /// /// In en, this message translates to: /// **'Account'** String get accountMaskedAccount; /// No description provided for @accountCountry. /// /// In en, this message translates to: /// **'Country'** String get accountCountry; /// No description provided for @accountCurrency. /// /// In en, this message translates to: /// **'Currency'** String get accountCurrency; /// No description provided for @accountStatus. /// /// In en, this message translates to: /// **'Status'** String get accountStatus; /// No description provided for @accountLanguage. /// /// In en, this message translates to: /// **'Language'** String get accountLanguage; /// No description provided for @accountTimezone. /// /// In en, this message translates to: /// **'Time zone'** String get accountTimezone; /// No description provided for @accountRegion. /// /// In en, this message translates to: /// **'Region'** String get accountRegion; /// No description provided for @accountVipLevel. /// /// In en, this message translates to: /// **'VIP level'** String get accountVipLevel; /// No description provided for @accountCreatedAt. /// /// In en, this message translates to: /// **'Registered'** String get accountCreatedAt; /// No description provided for @accountLastLogin. /// /// In en, this message translates to: /// **'Last login'** String get accountLastLogin; /// No description provided for @accountDevicesEmpty. /// /// In en, this message translates to: /// **'No login devices found.'** String get accountDevicesEmpty; /// No description provided for @accountDevicesLoadFailed. /// /// In en, this message translates to: /// **'Could not load devices.'** String get accountDevicesLoadFailed; /// No description provided for @accountPlatform. /// /// In en, this message translates to: /// **'Platform'** String get accountPlatform; /// No description provided for @accountDeviceId. /// /// In en, this message translates to: /// **'Device ID'** String get accountDeviceId; /// No description provided for @accountFirstSeen. /// /// In en, this message translates to: /// **'First seen'** String get accountFirstSeen; /// No description provided for @accountLastActive. /// /// In en, this message translates to: /// **'Last active'** String get accountLastActive; /// No description provided for @accountDeviceActive. /// /// In en, this message translates to: /// **'Active'** String get accountDeviceActive; /// No description provided for @accountDeviceInactive. /// /// In en, this message translates to: /// **'Inactive'** String get accountDeviceInactive; /// No description provided for @accountExportLoadFailed. /// /// In en, this message translates to: /// **'Could not export account data.'** String get accountExportLoadFailed; /// No description provided for @accountCredentials. /// /// In en, this message translates to: /// **'Sign-in credentials'** String get accountCredentials; /// No description provided for @accountConsentRecords. /// /// In en, this message translates to: /// **'Consent records'** String get accountConsentRecords; /// No description provided for @accountDeviceCount. /// /// In en, this message translates to: /// **'Devices'** String get accountDeviceCount; /// No description provided for @accountCopyJson. /// /// In en, this message translates to: /// **'Copy full JSON'** String get accountCopyJson; /// No description provided for @accountCopied. /// /// In en, this message translates to: /// **'Account data copied.'** String get accountCopied; /// No description provided for @accountVerified. /// /// In en, this message translates to: /// **'Verified'** String get accountVerified; /// No description provided for @accountUnverified. /// /// In en, this message translates to: /// **'Unverified'** String get accountUnverified; /// No description provided for @accountDeactivateWarning. /// /// In en, this message translates to: /// **'Requests enter a 15-day cooling-off period. All devices are signed out immediately.'** String get accountDeactivateWarning; /// No description provided for @accountDeactivateReason. /// /// In en, this message translates to: /// **'Reason (optional)'** String get accountDeactivateReason; /// No description provided for @accountDeactivateReasonHint. /// /// In en, this message translates to: /// **'Tell us why you are leaving'** String get accountDeactivateReasonHint; /// No description provided for @accountRequestDeactivate. /// /// In en, this message translates to: /// **'Request account deletion'** String get accountRequestDeactivate; /// No description provided for @accountConfirmDeactivateTitle. /// /// In en, this message translates to: /// **'Request account deletion?'** String get accountConfirmDeactivateTitle; /// No description provided for @accountConfirmDeactivateMessage. /// /// In en, this message translates to: /// **'All devices will be signed out immediately. You can cancel during the 15-day cooling-off period after signing in again.'** String get accountConfirmDeactivateMessage; /// No description provided for @accountConfirmDeactivate. /// /// In en, this message translates to: /// **'Confirm'** String get accountConfirmDeactivate; /// No description provided for @accountScheduledFor. /// /// In en, this message translates to: /// **'Deletion scheduled for {time}'** String accountScheduledFor(Object time); /// No description provided for @accountCancelDeactivation. /// /// In en, this message translates to: /// **'Cancel deletion request'** String get accountCancelDeactivation; /// No description provided for @accountCancelSucceeded. /// /// In en, this message translates to: /// **'Deletion request cancelled.'** String get accountCancelSucceeded; /// No description provided for @accountDeactivateFailed. /// /// In en, this message translates to: /// **'Could not request account deletion.'** String get accountDeactivateFailed; /// No description provided for @accountCancelFailed. /// /// In en, this message translates to: /// **'Could not cancel the deletion request.'** String get accountCancelFailed; /// No description provided for @authPhoneTitle. /// /// In en, this message translates to: /// **'Continue with phone'** String get authPhoneTitle; /// No description provided for @authPhoneSignUp. /// /// In en, this message translates to: /// **'Create an account with phone'** String get authPhoneSignUp; /// No description provided for @authPhoneLabel. /// /// In en, this message translates to: /// **'Phone number'** String get authPhoneLabel; /// No description provided for @authPhoneHint. /// /// In en, this message translates to: /// **'0812 3456 7890'** String get authPhoneHint; /// No description provided for @authPhoneInvalid. /// /// In en, this message translates to: /// **'Enter a valid phone number'** String get authPhoneInvalid; /// No description provided for @authCodeLabel. /// /// In en, this message translates to: /// **'Verification code'** String get authCodeLabel; /// No description provided for @authCodeHint. /// /// In en, this message translates to: /// **'6-digit code'** String get authCodeHint; /// No description provided for @authCodeRequired. /// /// In en, this message translates to: /// **'Enter the verification code'** String get authCodeRequired; /// No description provided for @authSendCode. /// /// In en, this message translates to: /// **'Send code'** String get authSendCode; /// No description provided for @authResendCode. /// /// In en, this message translates to: /// **'Resend in {seconds}s'** String authResendCode(int seconds); /// No description provided for @authCodeSent. /// /// In en, this message translates to: /// **'Verification code sent.'** String get authCodeSent; /// No description provided for @authPhoneSignInAction. /// /// In en, this message translates to: /// **'Sign in'** String get authPhoneSignInAction; /// No description provided for @authPhoneSignUpAction. /// /// In en, this message translates to: /// **'Create account'** String get authPhoneSignUpAction; /// No description provided for @unlockWithCoins. /// /// In en, this message translates to: /// **'Unlock with coins'** String get unlockWithCoins; /// No description provided for @unlockFailed. /// /// In en, this message translates to: /// **'Could not unlock this episode.'** String get unlockFailed; /// No description provided for @wallet. /// /// In en, this message translates to: /// **'Wallet'** String get wallet; /// No description provided for @coinBalance. /// /// In en, this message translates to: /// **'Coin balance'** String get coinBalance; /// No description provided for @coinLedger. /// /// In en, this message translates to: /// **'Coin activity'** String get coinLedger; /// No description provided for @noCoinLedger. /// /// In en, this message translates to: /// **'No coin activity yet.'** String get noCoinLedger; /// No description provided for @walletLoadFailed. /// /// In en, this message translates to: /// **'Could not load your wallet.'** String get walletLoadFailed; /// No description provided for @walletBalanceShort. /// /// In en, this message translates to: /// **'{coins} coins'** String walletBalanceShort(int coins); /// No description provided for @insufficientCoins. /// /// In en, this message translates to: /// **'Not enough coins.'** String get insufficientCoins; /// No description provided for @rechargeUnavailable. /// /// In en, this message translates to: /// **'Top-up is not available yet.'** String get rechargeUnavailable; /// No description provided for @totalRecharged. /// /// In en, this message translates to: /// **'Total recharged'** String get totalRecharged; /// No description provided for @totalConsumed. /// /// In en, this message translates to: /// **'Total spent'** String get totalConsumed; /// No description provided for @ledgerUnlock. /// /// In en, this message translates to: /// **'Episode unlock'** String get ledgerUnlock; /// No description provided for @ledgerRecharge. /// /// In en, this message translates to: /// **'Coin top-up'** String get ledgerRecharge; /// No description provided for @ledgerRefund. /// /// In en, this message translates to: /// **'Refund'** String get ledgerRefund; /// No description provided for @ledgerAdjustment. /// /// In en, this message translates to: /// **'Adjustment'** String get ledgerAdjustment; /// No description provided for @rankingTab. /// /// In en, this message translates to: /// **'Charts'** String get rankingTab; /// No description provided for @rankingTitle. /// /// In en, this message translates to: /// **'Top Charts'** String get rankingTitle; /// No description provided for @rankingSubtitle. /// /// In en, this message translates to: /// **'Ranked live by play heat'** String get rankingSubtitle; /// No description provided for @rankingHot. /// /// In en, this message translates to: /// **'Trending'** String get rankingHot; /// No description provided for @rankingNew. /// /// In en, this message translates to: /// **'New releases'** String get rankingNew; /// No description provided for @newReleasesAll. /// /// In en, this message translates to: /// **'All new releases'** String get newReleasesAll; /// No description provided for @newReleasesSubtitle. /// /// In en, this message translates to: /// **'Newest arrivals'** String get newReleasesSubtitle; /// No description provided for @reserveSubtitle. /// /// In en, this message translates to: /// **'Reserve before launch'** String get reserveSubtitle; /// No description provided for @reserveEmptyTitle. /// /// In en, this message translates to: /// **'No reservations yet'** String get reserveEmptyTitle; /// No description provided for @reserveEmptyHint. /// /// In en, this message translates to: /// **'Reserve new dramas here once announced'** String get reserveEmptyHint; /// No description provided for @topLabel. /// /// In en, this message translates to: /// **'TOP {n}'** String topLabel(int n); /// No description provided for @rankingEmptyTitle. /// /// In en, this message translates to: /// **'No ranked stories yet'** String get rankingEmptyTitle; /// No description provided for @rankingEmptyBody. /// /// In en, this message translates to: /// **'Titles appear here as soon as they are published.'** String get rankingEmptyBody; /// No description provided for @rankingTopPick. /// /// In en, this message translates to: /// **'TOP PICK'** String get rankingTopPick; /// No description provided for @rechargeTitle. /// /// In en, this message translates to: /// **'Top Up Coins'** String get rechargeTitle; /// No description provided for @vipTitle. /// /// In en, this message translates to: /// **'VIP Membership'** String get vipTitle; /// No description provided for @buy. /// /// In en, this message translates to: /// **'Buy'** String get buy; /// No description provided for @bonusCoin. /// /// In en, this message translates to: /// **'+{bonus} bonus'** String bonusCoin(int bonus); /// No description provided for @vipDuration. /// /// In en, this message translates to: /// **'{days}-day VIP'** String vipDuration(int days); /// No description provided for @noCoinPacks. /// /// In en, this message translates to: /// **'No coin packs available right now.'** String get noCoinPacks; /// No description provided for @noVipPlans. /// /// In en, this message translates to: /// **'No VIP plans available right now.'** String get noVipPlans; /// No description provided for @productsLoadFailed. /// /// In en, this message translates to: /// **'Could not load products.'** String get productsLoadFailed; /// No description provided for @orderCreated. /// /// In en, this message translates to: /// **'Order {orderNo} created.'** String orderCreated(String orderNo); /// No description provided for @paymentPending. /// /// In en, this message translates to: /// **'Waiting for payment.'** String get paymentPending; /// No description provided for @orderCreateFailed. /// /// In en, this message translates to: /// **'Could not create the order.'** String get orderCreateFailed; /// No description provided for @playbackQuality. /// /// In en, this message translates to: /// **'Quality'** String get playbackQuality; /// No description provided for @qualityAuto. /// /// In en, this message translates to: /// **'Auto'** String get qualityAuto; /// No description provided for @qualityAutoHint. /// /// In en, this message translates to: /// **'HLS adjusts the bitrate automatically for your connection.'** String get qualityAutoHint; /// No description provided for @searchFailed. /// /// In en, this message translates to: /// **'Search failed. Please try again.'** String get searchFailed; /// No description provided for @searchResultCount. /// /// In en, this message translates to: /// **'{count} results'** String searchResultCount(int count); /// No description provided for @episodeCountLabel. /// /// In en, this message translates to: /// **'{count} episodes'** String episodeCountLabel(int count); /// No description provided for @commentsWithCount. /// /// In en, this message translates to: /// **'{count} comments'** String commentsWithCount(int count); /// No description provided for @textSize. /// /// In en, this message translates to: /// **'Text size'** String get textSize; /// No description provided for @textSizeSmall. /// /// In en, this message translates to: /// **'Small'** String get textSizeSmall; /// No description provided for @textSizeStandard. /// /// In en, this message translates to: /// **'Standard'** String get textSizeStandard; /// No description provided for @textSizeLarge. /// /// In en, this message translates to: /// **'Large'** String get textSizeLarge; /// No description provided for @watchAdToUnlock. /// /// In en, this message translates to: /// **'Watch an ad to unlock'** String get watchAdToUnlock; /// No description provided for @unlockWithVip. /// /// In en, this message translates to: /// **'Unlock with VIP'** String get unlockWithVip; /// No description provided for @unlockMethodsVary. /// /// In en, this message translates to: /// **'Available unlock methods vary by title.'** String get unlockMethodsVary; /// No description provided for @unlockEpisode. /// /// In en, this message translates to: /// **'Unlock this episode'** String get unlockEpisode; /// No description provided for @language. /// /// In en, this message translates to: /// **'Language'** String get language; /// No description provided for @freeWatch. /// /// In en, this message translates to: /// **'Free watch'** String get freeWatch; /// No description provided for @qualityUnavailable. /// /// In en, this message translates to: /// **'Unavailable'** String get qualityUnavailable; /// No description provided for @notInterested. /// /// In en, this message translates to: /// **'Not interested'** String get notInterested; /// No description provided for @clearPlayback. /// /// In en, this message translates to: /// **'Clear-screen playback'** String get clearPlayback; /// No description provided for @danmakuUnavailable. /// /// In en, this message translates to: /// **'Coming soon'** String get danmakuUnavailable; /// No description provided for @danmakuSettings. /// /// In en, this message translates to: /// **'Danmaku settings'** String get danmakuSettings; /// No description provided for @offlineCache. /// /// In en, this message translates to: /// **'Offline cache'** String get offlineCache; /// No description provided for @screenCast. /// /// In en, this message translates to: /// **'Cast'** String get screenCast; /// No description provided for @sleepTimer. /// /// In en, this message translates to: /// **'Sleep timer'** String get sleepTimer; /// No description provided for @homeSearchHint. /// /// In en, this message translates to: /// **'Search dramas, actors, genres...'** String get homeSearchHint; /// No description provided for @homeSectionFeatured. /// /// In en, this message translates to: /// **'Featured'** String get homeSectionFeatured; /// No description provided for @homeSectionNew. /// /// In en, this message translates to: /// **'New'** String get homeSectionNew; /// No description provided for @homeSectionCategories. /// /// In en, this message translates to: /// **'Categories'** String get homeSectionCategories; /// No description provided for @homeSectionRanking. /// /// In en, this message translates to: /// **'Charts'** String get homeSectionRanking; /// No description provided for @homeSectionCostume. /// /// In en, this message translates to: /// **'Costume'** String get homeSectionCostume; /// No description provided for @homeSectionCommunity. /// /// In en, this message translates to: /// **'Community'** String get homeSectionCommunity; /// No description provided for @homeTagHot. /// /// In en, this message translates to: /// **'Hot'** String get homeTagHot; /// No description provided for @homeTagUplifting. /// /// In en, this message translates to: /// **'Thrilling'** String get homeTagUplifting; /// No description provided for @homeTagSweet. /// /// In en, this message translates to: /// **'Sweet'** String get homeTagSweet; /// No description provided for @homeTagFaceSlap. /// /// In en, this message translates to: /// **'Revenge'** String get homeTagFaceSlap; /// No description provided for @homeTagAngst. /// /// In en, this message translates to: /// **'Angst'** String get homeTagAngst; /// No description provided for @homeBadgeHot. /// /// In en, this message translates to: /// **'Hot'** String get homeBadgeHot; /// No description provided for @homeBadgeNew. /// /// In en, this message translates to: /// **'New'** String get homeBadgeNew; /// No description provided for @homeBadgeAnime. /// /// In en, this message translates to: /// **'Anime'** String get homeBadgeAnime; /// No description provided for @homeGridFilterEmpty. /// /// In en, this message translates to: /// **'No dramas match these filters'** String get homeGridFilterEmpty; /// No description provided for @homeGridClearFilter. /// /// In en, this message translates to: /// **'Clear filters'** String get homeGridClearFilter; /// No description provided for @recommendTopTab. /// /// In en, this message translates to: /// **'Recommend'** String get recommendTopTab; /// No description provided for @playlistTopTab. /// /// In en, this message translates to: /// **'Playlists'** String get playlistTopTab; /// No description provided for @allDramasTopTab. /// /// In en, this message translates to: /// **'All Dramas'** String get allDramasTopTab; /// No description provided for @weeklyHitsTitle. /// /// In en, this message translates to: /// **'This Week\'s Hits'** String get weeklyHitsTitle; /// No description provided for @weeklyHitsSubtitle. /// /// In en, this message translates to: /// **'Binge the hottest stories of the week!'** String get weeklyHitsSubtitle; /// No description provided for @weeklyNewTitle. /// /// In en, this message translates to: /// **'New This Week'** String get weeklyNewTitle; /// No description provided for @weeklyNewSubtitle. /// /// In en, this message translates to: /// **'Fresh releases to start your next binge'** String get weeklyNewSubtitle; /// No description provided for @costumeAwardsTitle. /// /// In en, this message translates to: /// **'Costume Drama Awards'** String get costumeAwardsTitle; /// No description provided for @costumeAwardsSubtitle. /// /// In en, this message translates to: /// **'Top-rated picks every costume fan needs'** String get costumeAwardsSubtitle; /// No description provided for @localFilter. /// /// In en, this message translates to: /// **'Local'** String get localFilter; /// No description provided for @asiaFilter. /// /// In en, this message translates to: /// **'Asia'** String get asiaFilter; /// No description provided for @westernFilter. /// /// In en, this message translates to: /// **'Western'** String get westernFilter; /// No description provided for @subtitlesOnlyFilter. /// /// In en, this message translates to: /// **'Subtitles'** String get subtitlesOnlyFilter; /// No description provided for @dubbedFilter. /// /// In en, this message translates to: /// **'Dubbed'** String get dubbedFilter; /// No description provided for @reversalFilter. /// /// In en, this message translates to: /// **'Comeback'** String get reversalFilter; /// No description provided for @modernFilter. /// /// In en, this message translates to: /// **'Modern'** String get modernFilter; /// No description provided for @edit. /// /// In en, this message translates to: /// **'Edit'** String get edit; /// No description provided for @done. /// /// In en, this message translates to: /// **'Done'** String get done; /// No description provided for @visitor. /// /// In en, this message translates to: /// **'Visitor'** String get visitor; /// No description provided for @copyUid. /// /// In en, this message translates to: /// **'Copy UID'** String get copyUid; /// No description provided for @uidCopied. /// /// In en, this message translates to: /// **'UID copied'** String get uidCopied; /// No description provided for @offlineDownloads. /// /// In en, this message translates to: /// **'Offline downloads'** String get offlineDownloads; /// No description provided for @watchPreferences. /// /// In en, this message translates to: /// **'Watch preferences'** String get watchPreferences; /// No description provided for @contactSupport. /// /// In en, this message translates to: /// **'Contact support'** String get contactSupport; /// No description provided for @vipBrandName. /// /// In en, this message translates to: /// **'Netshort VIP'** String get vipBrandName; /// No description provided for @mineVipSubtitle. /// /// In en, this message translates to: /// **'Enjoy exclusive benefits'** String get mineVipSubtitle; /// No description provided for @favoriteEpisodeProgress. /// /// In en, this message translates to: /// **'Episode {episode} / {total} total'** String favoriteEpisodeProgress(int episode, int total); /// No description provided for @watchedToEpisode. /// /// In en, this message translates to: /// **'Watched to Episode {episode}'** String watchedToEpisode(int episode); /// No description provided for @homeWatchAll. /// /// In en, this message translates to: /// **'Watch all'** String get homeWatchAll; /// No description provided for @confirmRemove. /// /// In en, this message translates to: /// **'Remove this item?'** String get confirmRemove; /// No description provided for @followingCountLabel. /// /// In en, this message translates to: /// **'Following'** String get followingCountLabel; /// No description provided for @watchRecordsCountLabel. /// /// In en, this message translates to: /// **'Watch records'** String get watchRecordsCountLabel; /// No description provided for @dataUnavailable. /// /// In en, this message translates to: /// **'—'** String get dataUnavailable; /// No description provided for @commonQuestions. /// /// In en, this message translates to: /// **'Common questions'** String get commonQuestions; /// No description provided for @aboutUs. /// /// In en, this message translates to: /// **'About us'** String get aboutUs; /// No description provided for @aboutDescription. /// /// In en, this message translates to: /// **'A focused, immersive place to watch short dramas.'** String get aboutDescription; /// No description provided for @versionLabel. /// /// In en, this message translates to: /// **'Version {version}'** String versionLabel(String version); } class _AppLocalizationsDelegate extends LocalizationsDelegate { const _AppLocalizationsDelegate(); @override Future load(Locale locale) { return SynchronousFuture(lookupAppLocalizations(locale)); } @override bool isSupported(Locale locale) => ['en', 'id', 'zh'].contains(locale.languageCode); @override bool shouldReload(_AppLocalizationsDelegate old) => false; } AppLocalizations lookupAppLocalizations(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { case 'en': return AppLocalizationsEn(); case 'id': return AppLocalizationsId(); case 'zh': return AppLocalizationsZh(); } throw FlutterError( 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely ' 'an issue with the localizations generation tool. Please file an issue ' 'on GitHub with a reproducible sample app and the gen-l10n configuration ' 'that was used.', ); }