From 8e91388ecfeb648b27f61f8c7be288d826c43119 Mon Sep 17 00:00:00 2001 From: marco Date: Wed, 18 Dec 2024 18:05:14 +0100 Subject: [PATCH] Localized static text --- lib/pages/landing_page.dart | 35 ++++++++++++++++-------------- lib/widgets/language_dropdown.dart | 11 ++++++++-- lib/widgets/language_widget.dart | 12 ++++++---- 3 files changed, 36 insertions(+), 22 deletions(-) diff --git a/lib/pages/landing_page.dart b/lib/pages/landing_page.dart index 31067ee..78f2740 100644 --- a/lib/pages/landing_page.dart +++ b/lib/pages/landing_page.dart @@ -4,6 +4,7 @@ import 'package:resume/widgets/language_dropdown.dart'; import 'package:resume/widgets/profile.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:resume/constants.dart' show ContentType; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import '../services/content_provider.dart'; import '../widgets/content_block.dart'; @@ -43,15 +44,15 @@ class _LandingPageState extends State { (MediaQuery.of(context).size.width - _getMainContentWidth()) / 2; Widget _getSideBar() { - return const Column( + return Column( children: [ ContentBlock( - blockTitle: 'Fähigkeiten', + blockTitle: AppLocalizations.of(context)!.skills, contentType: ContentType.skills, ), - Padding(padding: EdgeInsets.only(bottom: 25)), + const Padding(padding: EdgeInsets.only(bottom: 25)), ContentBlock( - blockTitle: 'Sprachen', + blockTitle: AppLocalizations.of(context)!.languages, contentType: ContentType.language, ), ], @@ -59,25 +60,25 @@ class _LandingPageState extends State { } Widget _getMainContent() { - return const Column( + return Column( children: [ ContentBlock( - blockTitle: 'Arbeitserfahrung', + blockTitle: AppLocalizations.of(context)!.work_experience, contentType: ContentType.experience, ), - Padding(padding: EdgeInsets.only(bottom: 25)), + const Padding(padding: EdgeInsets.only(bottom: 25)), ContentBlock( - blockTitle: 'Bildungsweg', + blockTitle: AppLocalizations.of(context)!.education, contentType: ContentType.education, ), - Padding(padding: EdgeInsets.only(bottom: 25)), + const Padding(padding: EdgeInsets.only(bottom: 25)), ContentBlock( - blockTitle: 'Weitere Kenntnisse', + blockTitle: AppLocalizations.of(context)!.additional_skills, contentType: ContentType.generalSkills, ), - Padding(padding: EdgeInsets.only(bottom: 25)), + const Padding(padding: EdgeInsets.only(bottom: 25)), ContentBlock( - blockTitle: "Über mich", + blockTitle: AppLocalizations.of(context)!.about_me, contentType: ContentType.text, ), ], @@ -189,10 +190,12 @@ class _LandingPageState extends State { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: const Text('Lebenslauf'), - actions: const [ - TextButton(onPressed: _launchURL, child: Text('Source Code')), - LanguageDropdown(), + title: Text(AppLocalizations.of(context)!.resume), + actions: [ + TextButton( + onPressed: _launchURL, + child: Text(AppLocalizations.of(context)!.source_code)), + const LanguageDropdown(), ], ), body: !loadingDone diff --git a/lib/widgets/language_dropdown.dart b/lib/widgets/language_dropdown.dart index 0bf5434..1cec262 100644 --- a/lib/widgets/language_dropdown.dart +++ b/lib/widgets/language_dropdown.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class LanguageDropdown extends StatelessWidget { const LanguageDropdown({super.key}); @@ -10,11 +11,17 @@ class LanguageDropdown extends StatelessWidget { items: [ DropdownMenuItem( value: 'de', - child: getMenuItem('Deutsch', 'assets/de_icon.png'), + child: getMenuItem( + AppLocalizations.of(context)!.german, + 'assets/de_icon.png', + ), ), DropdownMenuItem( value: 'en', - child: getMenuItem('Englisch', 'assets/gb_icon.png'), + child: getMenuItem( + AppLocalizations.of(context)!.english, + 'assets/gb_icon.png', + ), ), ], onChanged: _onChanged, diff --git a/lib/widgets/language_widget.dart b/lib/widgets/language_widget.dart index 947f0ff..a5f3e2c 100644 --- a/lib/widgets/language_widget.dart +++ b/lib/widgets/language_widget.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class LanguageWidget extends StatelessWidget { const LanguageWidget({super.key}); @@ -18,8 +19,9 @@ class LanguageWidget extends StatelessWidget { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('Deutsch', style: Theme.of(context).textTheme.bodyLarge), - Text('Muttersprache', + Text(AppLocalizations.of(context)!.german, + style: Theme.of(context).textTheme.bodyLarge), + Text(AppLocalizations.of(context)!.mother_tongue, style: Theme.of(context).textTheme.bodyMedium), ], ), @@ -36,8 +38,10 @@ class LanguageWidget extends StatelessWidget { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('Englisch', style: Theme.of(context).textTheme.bodyLarge), - Text('Sehr gut', style: Theme.of(context).textTheme.bodyMedium), + Text(AppLocalizations.of(context)!.english, + style: Theme.of(context).textTheme.bodyLarge), + Text(AppLocalizations.of(context)!.very_good, + style: Theme.of(context).textTheme.bodyMedium), ], ), ],