feat(ui): 登录页重设计并统一弹框主题渐变外壳
This commit is contained in:
1 parent
c027acc91f
commit
de7da64886
25 files changed
+905
-317
No files matched your search
+49
-4
@@ -20,7 +20,6 @@
|
||||
"featured": "Featured",
|
||||
"recommended": "Recommended",
|
||||
"fruitShortsBrand": "FruitShorts",
|
||||
"authLandingSubtitle": "Sign in to sync progress, favorites and coins",
|
||||
"comingSoon": "Coming soon",
|
||||
"authLegal": "By continuing, you agree to the Terms of Service and Privacy Policy.",
|
||||
"authLegalLead": "By continuing, you agree to the",
|
||||
@@ -61,7 +60,7 @@
|
||||
"episodes": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"feedEpisodePrefix": "EP{episode} | ",
|
||||
"feedEpisodePrefix": "EP{episode}",
|
||||
"@feedEpisodePrefix": {
|
||||
"placeholders": {
|
||||
"episode": {"type": "int"}
|
||||
@@ -275,6 +274,7 @@
|
||||
"shareFailed": "Could not open the share sheet.",
|
||||
"nowPlaying": "Playing now",
|
||||
"pictureInPicture": "Picture in picture",
|
||||
"autoEnterPip": "Auto mini player on exit",
|
||||
"pipUnavailable": "Picture in picture is unavailable on this device",
|
||||
"originalTag": "Original",
|
||||
"originalProduction": "Original",
|
||||
@@ -442,6 +442,7 @@
|
||||
"restoreDefault": "Restore default",
|
||||
"invalidServerAddress": "Enter a valid http(s) server address.",
|
||||
"signOut": "Sign Out",
|
||||
"signOutConfirm": "Sign out of your current account?",
|
||||
"mockUserName": "Vicky sheng",
|
||||
"mockUserId": "ID: M1CZWVYE",
|
||||
"mockNotice": "Sample data only.",
|
||||
@@ -787,8 +788,14 @@
|
||||
"offlineDownloads": "Offline downloads",
|
||||
"watchPreferences": "Watch preferences",
|
||||
"contactSupport": "Contact support",
|
||||
"vipBrandName": "Netshort VIP",
|
||||
"mineVipSubtitle": "Enjoy exclusive benefits",
|
||||
"vipBrandName": "FruitShorts VIP",
|
||||
"vipOpenNow": "Get VIP",
|
||||
"vipBenefitFree": "Free full access",
|
||||
"vipBenefitNoAds": "Ad-free viewing",
|
||||
"vipBenefitHd": "1080P HD",
|
||||
"vipBenefitFastCache": "Fast downloads",
|
||||
"moreServices": "More",
|
||||
"mineVipSubtitle": "Unlock excitement, binge freely",
|
||||
"favoriteEpisodeProgress": "Episode {episode} / {total} total",
|
||||
"@favoriteEpisodeProgress": {
|
||||
"placeholders": {
|
||||
@@ -796,6 +803,44 @@
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"myFavorites": "My Favorites",
|
||||
"manage": "Manage",
|
||||
"continueWatching": "Continue Watching",
|
||||
"continueWatchingSubtitle": "Episode {episode} of {total}",
|
||||
"@continueWatchingSubtitle": {
|
||||
"placeholders": {
|
||||
"episode": { "type": "int" },
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"favoriteDramas": "Favorites",
|
||||
"totalDramasCount": "{count} titles",
|
||||
"@totalDramasCount": {
|
||||
"placeholders": {
|
||||
"count": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"watchedEpisodeTotal": "EP {episode} / {total}",
|
||||
"@watchedEpisodeTotal": {
|
||||
"placeholders": {
|
||||
"episode": { "type": "int" },
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"hasUpdateBadge": "UPDATED",
|
||||
"updatedToEpisode": "Updated to EP {episode}",
|
||||
"@updatedToEpisode": {
|
||||
"placeholders": {
|
||||
"episode": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"finishedAllEpisodes": "{total} eps · Completed",
|
||||
"@finishedAllEpisodes": {
|
||||
"placeholders": {
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"noFavoritesYet": "No favorites yet",
|
||||
"watchedToEpisode": "Watched to Episode {episode}",
|
||||
"@watchedToEpisode": { "placeholders": { "episode": { "type": "int" } } },
|
||||
"homeWatchAll": "Watch all",
|
||||
|
||||
+49
-4
@@ -20,7 +20,6 @@
|
||||
"featured": "Unggulan",
|
||||
"recommended": "Rekomendasi",
|
||||
"fruitShortsBrand": "FruitShorts",
|
||||
"authLandingSubtitle": "Masuk untuk menyinkronkan progres, favorit, dan koin",
|
||||
"comingSoon": "Segera hadir",
|
||||
"authLegal": "Dengan melanjutkan, Anda menyetujui Ketentuan Layanan dan Kebijakan Privasi.",
|
||||
"authLegalLead": "Dengan melanjutkan, Anda menyetujui",
|
||||
@@ -55,7 +54,7 @@
|
||||
"episodes": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"feedEpisodePrefix": "EP{episode} | ",
|
||||
"feedEpisodePrefix": "EP{episode}",
|
||||
"@feedEpisodePrefix": {
|
||||
"placeholders": {
|
||||
"episode": {"type": "int"}
|
||||
@@ -254,6 +253,7 @@
|
||||
"shareFailed": "Tidak bisa membuka menu berbagi.",
|
||||
"nowPlaying": "Sedang diputar",
|
||||
"pictureInPicture": "Gambar dalam gambar",
|
||||
"autoEnterPip": "Mini player otomatis saat keluar",
|
||||
"pipUnavailable": "Gambar dalam gambar tidak tersedia di perangkat ini",
|
||||
"originalTag": "Original",
|
||||
"originalProduction": "Original",
|
||||
@@ -421,6 +421,7 @@
|
||||
"restoreDefault": "Pulihkan default",
|
||||
"invalidServerAddress": "Masukkan alamat server http(s) yang valid.",
|
||||
"signOut": "Keluar",
|
||||
"signOutConfirm": "Keluar dari akun saat ini?",
|
||||
"mockUserName": "Vicky sheng",
|
||||
"mockUserId": "ID: M1CZWVYE",
|
||||
"mockNotice": "Hanya data contoh.",
|
||||
@@ -749,8 +750,14 @@
|
||||
"offlineDownloads": "Unduhan offline",
|
||||
"watchPreferences": "Preferensi tontonan",
|
||||
"contactSupport": "Hubungi dukungan",
|
||||
"vipBrandName": "Netshort VIP",
|
||||
"mineVipSubtitle": "Nikmati manfaat eksklusif",
|
||||
"vipBrandName": "FruitShorts VIP",
|
||||
"vipOpenNow": "Buka VIP",
|
||||
"vipBenefitFree": "Nonton semua gratis",
|
||||
"vipBenefitNoAds": "Bebas iklan",
|
||||
"vipBenefitHd": "HD 1080P",
|
||||
"vipBenefitFastCache": "Unduhan cepat",
|
||||
"moreServices": "Lainnya",
|
||||
"mineVipSubtitle": "Buka keseruan, tonton sepuasnya",
|
||||
"favoriteEpisodeProgress": "Episode {episode} / total {total}",
|
||||
"@favoriteEpisodeProgress": {
|
||||
"placeholders": {
|
||||
@@ -758,6 +765,44 @@
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"myFavorites": "Favorit Saya",
|
||||
"manage": "Kelola",
|
||||
"continueWatching": "Lanjutkan",
|
||||
"continueWatchingSubtitle": "Episode {episode} dari {total}",
|
||||
"@continueWatchingSubtitle": {
|
||||
"placeholders": {
|
||||
"episode": { "type": "int" },
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"favoriteDramas": "Koleksi",
|
||||
"totalDramasCount": "{count} judul",
|
||||
"@totalDramasCount": {
|
||||
"placeholders": {
|
||||
"count": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"watchedEpisodeTotal": "EP {episode} / {total}",
|
||||
"@watchedEpisodeTotal": {
|
||||
"placeholders": {
|
||||
"episode": { "type": "int" },
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"hasUpdateBadge": "UPDATE",
|
||||
"updatedToEpisode": "Diperbarui ke EP {episode}",
|
||||
"@updatedToEpisode": {
|
||||
"placeholders": {
|
||||
"episode": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"finishedAllEpisodes": "{total} eps · Selesai",
|
||||
"@finishedAllEpisodes": {
|
||||
"placeholders": {
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"noFavoritesYet": "Belum ada favorit",
|
||||
"watchedToEpisode": "Ditonton hingga Episode {episode}",
|
||||
"@watchedToEpisode": { "placeholders": { "episode": { "type": "int" } } },
|
||||
"homeWatchAll": "Tonton semua",
|
||||
|
||||
+106
-10
@@ -220,12 +220,6 @@ abstract class AppLocalizations {
|
||||
/// **'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:
|
||||
@@ -403,7 +397,7 @@ abstract class AppLocalizations {
|
||||
/// No description provided for @feedEpisodePrefix.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'EP{episode} | '**
|
||||
/// **'EP{episode}'**
|
||||
String feedEpisodePrefix(int episode);
|
||||
|
||||
/// No description provided for @feedWatchingCount.
|
||||
@@ -1198,6 +1192,12 @@ abstract class AppLocalizations {
|
||||
/// **'Picture in picture'**
|
||||
String get pictureInPicture;
|
||||
|
||||
/// No description provided for @autoEnterPip.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Auto mini player on exit'**
|
||||
String get autoEnterPip;
|
||||
|
||||
/// No description provided for @pipUnavailable.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
@@ -1828,6 +1828,12 @@ abstract class AppLocalizations {
|
||||
/// **'Sign Out'**
|
||||
String get signOut;
|
||||
|
||||
/// No description provided for @signOutConfirm.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sign out of your current account?'**
|
||||
String get signOutConfirm;
|
||||
|
||||
/// No description provided for @mockUserName.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
@@ -2125,7 +2131,7 @@ abstract class AppLocalizations {
|
||||
/// No description provided for @myFavorites.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'My favorites'**
|
||||
/// **'My Favorites'**
|
||||
String get myFavorites;
|
||||
|
||||
/// No description provided for @noFavorites.
|
||||
@@ -3427,13 +3433,49 @@ abstract class AppLocalizations {
|
||||
/// No description provided for @vipBrandName.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Netshort VIP'**
|
||||
/// **'FruitShorts VIP'**
|
||||
String get vipBrandName;
|
||||
|
||||
/// No description provided for @vipOpenNow.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Get VIP'**
|
||||
String get vipOpenNow;
|
||||
|
||||
/// No description provided for @vipBenefitFree.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Free full access'**
|
||||
String get vipBenefitFree;
|
||||
|
||||
/// No description provided for @vipBenefitNoAds.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Ad-free viewing'**
|
||||
String get vipBenefitNoAds;
|
||||
|
||||
/// No description provided for @vipBenefitHd.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'1080P HD'**
|
||||
String get vipBenefitHd;
|
||||
|
||||
/// No description provided for @vipBenefitFastCache.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Fast downloads'**
|
||||
String get vipBenefitFastCache;
|
||||
|
||||
/// No description provided for @moreServices.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'More'**
|
||||
String get moreServices;
|
||||
|
||||
/// No description provided for @mineVipSubtitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Enjoy exclusive benefits'**
|
||||
/// **'Unlock excitement, binge freely'**
|
||||
String get mineVipSubtitle;
|
||||
|
||||
/// No description provided for @favoriteEpisodeProgress.
|
||||
@@ -3442,6 +3484,60 @@ abstract class AppLocalizations {
|
||||
/// **'Episode {episode} / {total} total'**
|
||||
String favoriteEpisodeProgress(int episode, int total);
|
||||
|
||||
/// No description provided for @manage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Manage'**
|
||||
String get manage;
|
||||
|
||||
/// No description provided for @continueWatchingSubtitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Episode {episode} of {total}'**
|
||||
String continueWatchingSubtitle(int episode, int total);
|
||||
|
||||
/// No description provided for @favoriteDramas.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Favorites'**
|
||||
String get favoriteDramas;
|
||||
|
||||
/// No description provided for @totalDramasCount.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{count} titles'**
|
||||
String totalDramasCount(int count);
|
||||
|
||||
/// No description provided for @watchedEpisodeTotal.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'EP {episode} / {total}'**
|
||||
String watchedEpisodeTotal(int episode, int total);
|
||||
|
||||
/// No description provided for @hasUpdateBadge.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'UPDATED'**
|
||||
String get hasUpdateBadge;
|
||||
|
||||
/// No description provided for @updatedToEpisode.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Updated to EP {episode}'**
|
||||
String updatedToEpisode(int episode);
|
||||
|
||||
/// No description provided for @finishedAllEpisodes.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{total} eps · Completed'**
|
||||
String finishedAllEpisodes(int total);
|
||||
|
||||
/// No description provided for @noFavoritesYet.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No favorites yet'**
|
||||
String get noFavoritesYet;
|
||||
|
||||
/// No description provided for @watchedToEpisode.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
@@ -69,10 +69,6 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
@override
|
||||
String get fruitShortsBrand => 'FruitShorts';
|
||||
|
||||
@override
|
||||
String get authLandingSubtitle =>
|
||||
'Sign in to sync progress, favorites and coins';
|
||||
|
||||
@override
|
||||
String get comingSoon => 'Coming soon';
|
||||
|
||||
@@ -167,7 +163,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String feedEpisodePrefix(int episode) {
|
||||
return 'EP$episode | ';
|
||||
return 'EP$episode';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -597,6 +593,9 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
@override
|
||||
String get pictureInPicture => 'Picture in picture';
|
||||
|
||||
@override
|
||||
String get autoEnterPip => 'Auto mini player on exit';
|
||||
|
||||
@override
|
||||
String get pipUnavailable =>
|
||||
'Picture in picture is unavailable on this device';
|
||||
@@ -933,6 +932,9 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
@override
|
||||
String get signOut => 'Sign Out';
|
||||
|
||||
@override
|
||||
String get signOutConfirm => 'Sign out of your current account?';
|
||||
|
||||
@override
|
||||
String get mockUserName => 'Vicky sheng';
|
||||
|
||||
@@ -1087,7 +1089,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
'Could not update favorites. Please retry.';
|
||||
|
||||
@override
|
||||
String get myFavorites => 'My favorites';
|
||||
String get myFavorites => 'My Favorites';
|
||||
|
||||
@override
|
||||
String get noFavorites => 'No favorites yet.';
|
||||
@@ -1790,16 +1792,71 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
String get contactSupport => 'Contact support';
|
||||
|
||||
@override
|
||||
String get vipBrandName => 'Netshort VIP';
|
||||
String get vipBrandName => 'FruitShorts VIP';
|
||||
|
||||
@override
|
||||
String get mineVipSubtitle => 'Enjoy exclusive benefits';
|
||||
String get vipOpenNow => 'Get VIP';
|
||||
|
||||
@override
|
||||
String get vipBenefitFree => 'Free full access';
|
||||
|
||||
@override
|
||||
String get vipBenefitNoAds => 'Ad-free viewing';
|
||||
|
||||
@override
|
||||
String get vipBenefitHd => '1080P HD';
|
||||
|
||||
@override
|
||||
String get vipBenefitFastCache => 'Fast downloads';
|
||||
|
||||
@override
|
||||
String get moreServices => 'More';
|
||||
|
||||
@override
|
||||
String get mineVipSubtitle => 'Unlock excitement, binge freely';
|
||||
|
||||
@override
|
||||
String favoriteEpisodeProgress(int episode, int total) {
|
||||
return 'Episode $episode / $total total';
|
||||
}
|
||||
|
||||
@override
|
||||
String get manage => 'Manage';
|
||||
|
||||
@override
|
||||
String continueWatchingSubtitle(int episode, int total) {
|
||||
return 'Episode $episode of $total';
|
||||
}
|
||||
|
||||
@override
|
||||
String get favoriteDramas => 'Favorites';
|
||||
|
||||
@override
|
||||
String totalDramasCount(int count) {
|
||||
return '$count titles';
|
||||
}
|
||||
|
||||
@override
|
||||
String watchedEpisodeTotal(int episode, int total) {
|
||||
return 'EP $episode / $total';
|
||||
}
|
||||
|
||||
@override
|
||||
String get hasUpdateBadge => 'UPDATED';
|
||||
|
||||
@override
|
||||
String updatedToEpisode(int episode) {
|
||||
return 'Updated to EP $episode';
|
||||
}
|
||||
|
||||
@override
|
||||
String finishedAllEpisodes(int total) {
|
||||
return '$total eps · Completed';
|
||||
}
|
||||
|
||||
@override
|
||||
String get noFavoritesYet => 'No favorites yet';
|
||||
|
||||
@override
|
||||
String watchedToEpisode(int episode) {
|
||||
return 'Watched to Episode $episode';
|
||||
|
||||
@@ -69,10 +69,6 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
@override
|
||||
String get fruitShortsBrand => 'FruitShorts';
|
||||
|
||||
@override
|
||||
String get authLandingSubtitle =>
|
||||
'Masuk untuk menyinkronkan progres, favorit, dan koin';
|
||||
|
||||
@override
|
||||
String get comingSoon => 'Segera hadir';
|
||||
|
||||
@@ -167,7 +163,7 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String feedEpisodePrefix(int episode) {
|
||||
return 'EP$episode | ';
|
||||
return 'EP$episode';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -299,7 +295,7 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
String get localDemoProfile => 'Profil demo lokal';
|
||||
|
||||
@override
|
||||
String get continueWatching => 'Lanjut Tonton';
|
||||
String get continueWatching => 'Lanjutkan';
|
||||
|
||||
@override
|
||||
String episodeRemaining(int episode, int minutes) {
|
||||
@@ -598,6 +594,9 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
@override
|
||||
String get pictureInPicture => 'Gambar dalam gambar';
|
||||
|
||||
@override
|
||||
String get autoEnterPip => 'Mini player otomatis saat keluar';
|
||||
|
||||
@override
|
||||
String get pipUnavailable =>
|
||||
'Gambar dalam gambar tidak tersedia di perangkat ini';
|
||||
@@ -937,6 +936,9 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
@override
|
||||
String get signOut => 'Keluar';
|
||||
|
||||
@override
|
||||
String get signOutConfirm => 'Keluar dari akun saat ini?';
|
||||
|
||||
@override
|
||||
String get mockUserName => 'Vicky sheng';
|
||||
|
||||
@@ -1089,7 +1091,7 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
String get favoriteToggleFailed => 'Gagal memperbarui favorit. Coba lagi.';
|
||||
|
||||
@override
|
||||
String get myFavorites => 'Favorit saya';
|
||||
String get myFavorites => 'Favorit Saya';
|
||||
|
||||
@override
|
||||
String get noFavorites => 'Belum ada favorit.';
|
||||
@@ -1792,16 +1794,71 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
String get contactSupport => 'Hubungi dukungan';
|
||||
|
||||
@override
|
||||
String get vipBrandName => 'Netshort VIP';
|
||||
String get vipBrandName => 'FruitShorts VIP';
|
||||
|
||||
@override
|
||||
String get mineVipSubtitle => 'Nikmati manfaat eksklusif';
|
||||
String get vipOpenNow => 'Buka VIP';
|
||||
|
||||
@override
|
||||
String get vipBenefitFree => 'Nonton semua gratis';
|
||||
|
||||
@override
|
||||
String get vipBenefitNoAds => 'Bebas iklan';
|
||||
|
||||
@override
|
||||
String get vipBenefitHd => 'HD 1080P';
|
||||
|
||||
@override
|
||||
String get vipBenefitFastCache => 'Unduhan cepat';
|
||||
|
||||
@override
|
||||
String get moreServices => 'Lainnya';
|
||||
|
||||
@override
|
||||
String get mineVipSubtitle => 'Buka keseruan, tonton sepuasnya';
|
||||
|
||||
@override
|
||||
String favoriteEpisodeProgress(int episode, int total) {
|
||||
return 'Episode $episode / total $total';
|
||||
}
|
||||
|
||||
@override
|
||||
String get manage => 'Kelola';
|
||||
|
||||
@override
|
||||
String continueWatchingSubtitle(int episode, int total) {
|
||||
return 'Episode $episode dari $total';
|
||||
}
|
||||
|
||||
@override
|
||||
String get favoriteDramas => 'Koleksi';
|
||||
|
||||
@override
|
||||
String totalDramasCount(int count) {
|
||||
return '$count judul';
|
||||
}
|
||||
|
||||
@override
|
||||
String watchedEpisodeTotal(int episode, int total) {
|
||||
return 'EP $episode / $total';
|
||||
}
|
||||
|
||||
@override
|
||||
String get hasUpdateBadge => 'UPDATE';
|
||||
|
||||
@override
|
||||
String updatedToEpisode(int episode) {
|
||||
return 'Diperbarui ke EP $episode';
|
||||
}
|
||||
|
||||
@override
|
||||
String finishedAllEpisodes(int total) {
|
||||
return '$total eps · Selesai';
|
||||
}
|
||||
|
||||
@override
|
||||
String get noFavoritesYet => 'Belum ada favorit';
|
||||
|
||||
@override
|
||||
String watchedToEpisode(int episode) {
|
||||
return 'Ditonton hingga Episode $episode';
|
||||
|
||||
@@ -66,10 +66,7 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
String get recommended => '推荐';
|
||||
|
||||
@override
|
||||
String get fruitShortsBrand => '水果短剧';
|
||||
|
||||
@override
|
||||
String get authLandingSubtitle => '登录后同步进度、收藏与金币权益';
|
||||
String get fruitShortsBrand => 'FruitShorts';
|
||||
|
||||
@override
|
||||
String get comingSoon => '即将上线';
|
||||
@@ -164,7 +161,7 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String feedEpisodePrefix(int episode) {
|
||||
return '第$episode集|';
|
||||
return '第$episode集';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -591,6 +588,9 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
@override
|
||||
String get pictureInPicture => '画中画';
|
||||
|
||||
@override
|
||||
String get autoEnterPip => '退出后自动小窗';
|
||||
|
||||
@override
|
||||
String get pipUnavailable => '此设备无法使用画中画';
|
||||
|
||||
@@ -922,6 +922,9 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
@override
|
||||
String get signOut => '退出登录';
|
||||
|
||||
@override
|
||||
String get signOutConfirm => '确定要退出当前账号吗?';
|
||||
|
||||
@override
|
||||
String get mockUserName => 'Vicky sheng';
|
||||
|
||||
@@ -1764,16 +1767,71 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
String get contactSupport => '联系客服';
|
||||
|
||||
@override
|
||||
String get vipBrandName => 'Netshort VIP';
|
||||
String get vipBrandName => 'FruitShorts VIP';
|
||||
|
||||
@override
|
||||
String get mineVipSubtitle => '享受专属权益';
|
||||
String get vipOpenNow => '立即开通';
|
||||
|
||||
@override
|
||||
String get vipBenefitFree => '全剧免费看';
|
||||
|
||||
@override
|
||||
String get vipBenefitNoAds => '免广告打扰';
|
||||
|
||||
@override
|
||||
String get vipBenefitHd => '1080P高清';
|
||||
|
||||
@override
|
||||
String get vipBenefitFastCache => '极速缓存';
|
||||
|
||||
@override
|
||||
String get moreServices => '更多服务';
|
||||
|
||||
@override
|
||||
String get mineVipSubtitle => '解锁精彩,畅看好剧';
|
||||
|
||||
@override
|
||||
String favoriteEpisodeProgress(int episode, int total) {
|
||||
return '第 $episode 集 / 共 $total 集';
|
||||
}
|
||||
|
||||
@override
|
||||
String get manage => '管理';
|
||||
|
||||
@override
|
||||
String continueWatchingSubtitle(int episode, int total) {
|
||||
return '看到第 $episode 集 · 全 $total 集';
|
||||
}
|
||||
|
||||
@override
|
||||
String get favoriteDramas => '收藏短剧';
|
||||
|
||||
@override
|
||||
String totalDramasCount(int count) {
|
||||
return '共 $count 部';
|
||||
}
|
||||
|
||||
@override
|
||||
String watchedEpisodeTotal(int episode, int total) {
|
||||
return '看到第 $episode 集 / 全 $total 集';
|
||||
}
|
||||
|
||||
@override
|
||||
String get hasUpdateBadge => '有更新';
|
||||
|
||||
@override
|
||||
String updatedToEpisode(int episode) {
|
||||
return '更新至第 $episode 集';
|
||||
}
|
||||
|
||||
@override
|
||||
String finishedAllEpisodes(int total) {
|
||||
return '全 $total 集 · 已完结';
|
||||
}
|
||||
|
||||
@override
|
||||
String get noFavoritesYet => '还没有收藏的短剧';
|
||||
|
||||
@override
|
||||
String watchedToEpisode(int episode) {
|
||||
return '已看至 第 $episode 集';
|
||||
|
||||
+50
-5
@@ -19,8 +19,7 @@
|
||||
"searchCancel": "取消",
|
||||
"featured": "精选",
|
||||
"recommended": "推荐",
|
||||
"fruitShortsBrand": "水果短剧",
|
||||
"authLandingSubtitle": "登录后同步进度、收藏与金币权益",
|
||||
"fruitShortsBrand": "FruitShorts",
|
||||
"comingSoon": "即将上线",
|
||||
"authLegal": "继续即代表同意《用户协议》与《隐私政策》",
|
||||
"authLegalLead": "继续即代表同意",
|
||||
@@ -55,7 +54,7 @@
|
||||
"episodes": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"feedEpisodePrefix": "第{episode}集|",
|
||||
"feedEpisodePrefix": "第{episode}集",
|
||||
"@feedEpisodePrefix": {
|
||||
"placeholders": {
|
||||
"episode": {"type": "int"}
|
||||
@@ -254,6 +253,7 @@
|
||||
"shareFailed": "无法打开系统分享面板。",
|
||||
"nowPlaying": "正在播放",
|
||||
"pictureInPicture": "画中画",
|
||||
"autoEnterPip": "退出后自动小窗",
|
||||
"pipUnavailable": "此设备无法使用画中画",
|
||||
"originalTag": "原创",
|
||||
"originalProduction": "原创出品",
|
||||
@@ -383,6 +383,7 @@
|
||||
"restoreDefault": "恢复默认",
|
||||
"invalidServerAddress": "请输入有效的 http(s) 服务器地址。",
|
||||
"signOut": "退出登录",
|
||||
"signOutConfirm": "确定要退出当前账号吗?",
|
||||
"mockUserName": "Vicky sheng",
|
||||
"mockUserId": "ID: M1CZWVYE",
|
||||
"mockNotice": "当前是示例数据。",
|
||||
@@ -711,8 +712,14 @@
|
||||
"offlineDownloads": "离线缓存",
|
||||
"watchPreferences": "观看偏好",
|
||||
"contactSupport": "联系客服",
|
||||
"vipBrandName": "Netshort VIP",
|
||||
"mineVipSubtitle": "享受专属权益",
|
||||
"vipBrandName": "FruitShorts VIP",
|
||||
"vipOpenNow": "立即开通",
|
||||
"vipBenefitFree": "全剧免费看",
|
||||
"vipBenefitNoAds": "免广告打扰",
|
||||
"vipBenefitHd": "1080P高清",
|
||||
"vipBenefitFastCache": "极速缓存",
|
||||
"moreServices": "更多服务",
|
||||
"mineVipSubtitle": "解锁精彩,畅看好剧",
|
||||
"favoriteEpisodeProgress": "第 {episode} 集 / 共 {total} 集",
|
||||
"@favoriteEpisodeProgress": {
|
||||
"placeholders": {
|
||||
@@ -720,6 +727,44 @@
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"myFavorites": "我的收藏",
|
||||
"manage": "管理",
|
||||
"continueWatching": "继续观看",
|
||||
"continueWatchingSubtitle": "看到第 {episode} 集 · 全 {total} 集",
|
||||
"@continueWatchingSubtitle": {
|
||||
"placeholders": {
|
||||
"episode": { "type": "int" },
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"favoriteDramas": "收藏短剧",
|
||||
"totalDramasCount": "共 {count} 部",
|
||||
"@totalDramasCount": {
|
||||
"placeholders": {
|
||||
"count": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"watchedEpisodeTotal": "看到第 {episode} 集 / 全 {total} 集",
|
||||
"@watchedEpisodeTotal": {
|
||||
"placeholders": {
|
||||
"episode": { "type": "int" },
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"hasUpdateBadge": "有更新",
|
||||
"updatedToEpisode": "更新至第 {episode} 集",
|
||||
"@updatedToEpisode": {
|
||||
"placeholders": {
|
||||
"episode": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"finishedAllEpisodes": "全 {total} 集 · 已完结",
|
||||
"@finishedAllEpisodes": {
|
||||
"placeholders": {
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"noFavoritesYet": "还没有收藏的短剧",
|
||||
"watchedToEpisode": "已看至 第 {episode} 集",
|
||||
"@watchedToEpisode": { "placeholders": { "episode": { "type": "int" } } },
|
||||
"homeWatchAll": "观看全集",
|
||||
|
||||
Reference in new issue
Block a user