From bf710bc5d5f6fa60e45ca8728f3a373e854041a5 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Wed, 13 Apr 2022 12:08:46 +0200 Subject: [PATCH] Translate categories and equipment in other parts of the application --- lib/widgets/exercises/exercises.dart | 15 +++++++++------ lib/widgets/exercises/filter_modal.dart | 9 ++++----- lib/widgets/exercises/list_tile.dart | 3 ++- lib/widgets/workouts/gym_mode.dart | 5 +++-- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/lib/widgets/exercises/exercises.dart b/lib/widgets/exercises/exercises.dart index df9127cf..afa3bb96 100644 --- a/lib/widgets/exercises/exercises.dart +++ b/lib/widgets/exercises/exercises.dart @@ -22,6 +22,7 @@ import 'package:flutter_html/flutter_html.dart'; import 'package:flutter_svg/svg.dart'; import 'package:provider/provider.dart'; import 'package:wger/helpers/consts.dart'; +import 'package:wger/helpers/i18n.dart'; import 'package:wger/models/exercises/exercise.dart'; import 'package:wger/models/exercises/muscle.dart'; import 'package:wger/providers/exercises.dart'; @@ -44,7 +45,7 @@ class ExerciseDetail extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ // Category and equipment - getCategoriesAndEquipment(), + getCategoriesAndEquipment(context), // Videos ...getVideos(), @@ -190,14 +191,16 @@ class ExerciseDetail extends StatelessWidget { return out; } - Widget getCategoriesAndEquipment() { + Widget getCategoriesAndEquipment(BuildContext context) { final List out = []; - out.add(Chip( - label: Text(_exercise.baseObj.category.name), - )); + out.add( + Chip(label: Text(getTranslation(_exercise.baseObj.category.name, context))), + ); if (_exercise.baseObj.equipment.isNotEmpty) { - _exercise.baseObj.equipment.map((e) => Chip(label: Text(e.name))).forEach((element) { + _exercise.baseObj.equipment + .map((e) => Chip(label: Text(getTranslation(e.name, context)))) + .forEach((element) { out.add(element); }); } diff --git a/lib/widgets/exercises/filter_modal.dart b/lib/widgets/exercises/filter_modal.dart index 79252c19..27ce3997 100644 --- a/lib/widgets/exercises/filter_modal.dart +++ b/lib/widgets/exercises/filter_modal.dart @@ -18,6 +18,7 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:wger/helpers/i18n.dart'; import 'package:wger/providers/exercises.dart'; class ExerciseFilterModalBody extends StatefulWidget { @@ -26,8 +27,7 @@ class ExerciseFilterModalBody extends StatefulWidget { }) : super(key: key); @override - _ExerciseFilterModalBodyState createState() => - _ExerciseFilterModalBodyState(); + _ExerciseFilterModalBodyState createState() => _ExerciseFilterModalBodyState(); } class _ExerciseFilterModalBodyState extends State { @@ -70,12 +70,11 @@ class _ExerciseFilterModalBodyState extends State { children: filterCategory.items.entries.map( (currentEntry) { return SwitchListTile( - title: Text(currentEntry.key.name), + title: Text(getTranslation(currentEntry.key.name, context)), value: currentEntry.value, onChanged: (_) { setState(() { - filterCategory.items - .update(currentEntry.key, (value) => !value); + filterCategory.items.update(currentEntry.key, (value) => !value); Provider.of(context, listen: false) .setFilters(filters); }); diff --git a/lib/widgets/exercises/list_tile.dart b/lib/widgets/exercises/list_tile.dart index 8f28f6a3..68954592 100644 --- a/lib/widgets/exercises/list_tile.dart +++ b/lib/widgets/exercises/list_tile.dart @@ -17,6 +17,7 @@ */ import 'package:flutter/material.dart'; +import 'package:wger/helpers/i18n.dart'; import 'package:wger/models/exercises/exercise.dart'; import 'package:wger/screens/exercise_screen.dart'; import 'package:wger/widgets/exercises/images.dart'; @@ -56,7 +57,7 @@ class ExerciseListTile extends StatelessWidget { maxLines: 2, ), subtitle: Text( - '${exercise.category.name} / ${exercise.equipment.map((e) => e.name).toList().join(', ')}', + '${getTranslation(exercise.category.name, context)} / ${exercise.equipment.map((e) => getTranslation(e.name, context)).toList().join(', ')}', ), onTap: () { Navigator.pushNamed(context, ExerciseDetailScreen.routeName, arguments: exercise); diff --git a/lib/widgets/workouts/gym_mode.dart b/lib/widgets/workouts/gym_mode.dart index 18cc2e16..35b5e54e 100644 --- a/lib/widgets/workouts/gym_mode.dart +++ b/lib/widgets/workouts/gym_mode.dart @@ -25,6 +25,7 @@ import 'package:provider/provider.dart'; import 'package:wger/exceptions/http_exception.dart'; import 'package:wger/helpers/consts.dart'; import 'package:wger/helpers/gym_mode.dart'; +import 'package:wger/helpers/i18n.dart'; import 'package:wger/helpers/json.dart'; import 'package:wger/helpers/misc.dart'; import 'package:wger/helpers/ui.dart'; @@ -682,13 +683,13 @@ class ExerciseOverview extends StatelessWidget { padding: const EdgeInsets.symmetric(horizontal: 15), children: [ Text( - _exercise.category.name, + getTranslation(_exercise.category.name, context), style: Theme.of(context).textTheme.headline6, textAlign: TextAlign.center, ), ..._exercise.equipment .map((e) => Text( - e.name, + getTranslation(e.name, context), style: Theme.of(context).textTheme.headline6, textAlign: TextAlign.center, ))