fix(i18n): 印尼语内容缺失时不再回退中文
This commit is contained in:
1 parent
9ef8eb15b0
commit
19196ceb8e
13 files changed
+261
-95
No files matched your search
@@ -7,6 +7,7 @@ import 'package:provider/provider.dart';
|
||||
|
||||
import '../../../core/data/models/drama.dart';
|
||||
import '../../../core/data/services/category_controller.dart';
|
||||
import '../../../core/formatting/content_locale_guard.dart';
|
||||
import '../../../core/theme/app_dimens.dart';
|
||||
import '../../../core/widgets/app_pull_to_refresh.dart';
|
||||
import '../../../core/widgets/drama_grid_skeleton.dart';
|
||||
@@ -77,7 +78,10 @@ class _HomeCategoryDramasState extends State<HomeCategoryDramas> {
|
||||
final controller = context.watch<CategoryController>();
|
||||
final categoryId = widget.lockedCategoryId ?? '';
|
||||
final slot = categoryId.isEmpty ? null : controller.slotOf(categoryId);
|
||||
final dramas = slot?.dramas ?? const <Drama>[];
|
||||
final dramas = visibleDramasForLocale(
|
||||
slot?.dramas ?? const <Drama>[],
|
||||
Localizations.localeOf(context).languageCode,
|
||||
);
|
||||
return Column(
|
||||
children: [
|
||||
Expanded(
|
||||
@@ -164,9 +168,8 @@ class _HomeCategoryDramasState extends State<HomeCategoryDramas> {
|
||||
hasMore: slot?.hasMore ?? false,
|
||||
hasItems: dramas.isNotEmpty,
|
||||
errorMessage: null,
|
||||
onRetry: () => context.read<CategoryController>().loadMore(
|
||||
categoryId,
|
||||
),
|
||||
onRetry: () =>
|
||||
context.read<CategoryController>().loadMore(categoryId),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -12,6 +12,7 @@ import '../../../core/data/services/catalog_controller.dart';
|
||||
import '../../../core/data/services/category_controller.dart';
|
||||
import '../../../core/data/services/home_feed_controller.dart';
|
||||
import '../../../core/data/services/wallet_controller.dart';
|
||||
import '../../../core/formatting/content_locale_guard.dart';
|
||||
import '../../../core/theme/app_colors.dart';
|
||||
import '../../../core/theme/app_dimens.dart';
|
||||
import '../../../core/widgets/app_pull_to_refresh.dart';
|
||||
@@ -194,7 +195,10 @@ class _HomeFeedGridState extends State<HomeFeedGrid> {
|
||||
mainAxisSpacing: AppDimens.homeGridRowGap,
|
||||
);
|
||||
}
|
||||
final dramas = _dramasFor(category);
|
||||
final dramas = _dramasFor(
|
||||
category,
|
||||
Localizations.localeOf(context).languageCode,
|
||||
);
|
||||
if (widget.feedController.loadingFirstPage && dramas.isEmpty) {
|
||||
return const DramaGridSkeleton(
|
||||
key: Key('home-grid-skeleton'),
|
||||
@@ -324,8 +328,14 @@ class _HomeFeedGridState extends State<HomeFeedGrid> {
|
||||
];
|
||||
}
|
||||
|
||||
List<Drama> _dramasFor(HomeGridCategoryShortcut category) {
|
||||
final dramas = widget.feedController.dramas;
|
||||
List<Drama> _dramasFor(
|
||||
HomeGridCategoryShortcut category,
|
||||
String languageCode,
|
||||
) {
|
||||
final dramas = visibleDramasForLocale(
|
||||
widget.feedController.dramas,
|
||||
languageCode,
|
||||
);
|
||||
final categoryName = category.categoryName.toLowerCase();
|
||||
if (categoryName.isEmpty) return dramas;
|
||||
final matched = dramas
|
||||
|
||||
Reference in new issue
Block a user