Merge branch 'language_branch' into 'main'

language

See merge request brausjonas/mensaapp!11
This commit is contained in:
Jonas Braus
2024-11-24 21:14:29 +00:00
2 changed files with 220 additions and 25 deletions
+51 -25
View File
@@ -1,12 +1,17 @@
import 'dart:ffi';
import 'package:flutter/material.dart';
import 'package:google_nav_bar/google_nav_bar.dart';
import 'package:mensaapp/providers/ambienteProvider.dart';
import 'package:mensaapp/providers/anmerkungProvider.dart';
import 'package:mensaapp/providers/essenProvider.dart';
import 'package:mensaapp/providers/languageProvider.dart';
import 'package:mensaapp/providers/pageProvider.dart';
import 'package:mensaapp/providers/serviceProvider.dart';
import 'package:mensaapp/providers/spezielleErnaehrungProvider.dart';
import 'package:provider/provider.dart';
import 'dart:convert';
import 'package:flutter/services.dart' show rootBundle;
void main() {
runApp(const MyApp());
@@ -37,6 +42,9 @@ class MyApp extends StatelessWidget {
),
ChangeNotifierProvider(
create: (context) => SpezielleErnaehrungProvider(),
),
ChangeNotifierProvider(
create: (context) => LanguageProvider(),
)
],
child: MaterialApp(
@@ -71,15 +79,15 @@ class MyHome extends StatelessWidget {
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
title: const Text("Bewertungen löschen"),
content: const Text("Möchtest du alle Eingaben entfernen?",
title: Text(Provider.of<LanguageProvider>(context, listen: false).languageData[Provider.of<LanguageProvider>(context, listen: false).language]["floating"]["delete"]["title"]),
content: Text(Provider.of<LanguageProvider>(context, listen: false).languageData[Provider.of<LanguageProvider>(context, listen: false).language]["floating"]["delete"]["info"],
style: TextStyle(fontSize: 18),),
actions: [
ElevatedButton(
onPressed: () {
Navigator.of(context).pop();
},
child: Text("Behalten"),
child: Text(Provider.of<LanguageProvider>(context, listen: false).languageData[Provider.of<LanguageProvider>(context, listen: false).language]["floating"]["delete"]["keep"]),
style: ElevatedButton.styleFrom(
backgroundColor: Theme.of(context).colorScheme.secondary
),
@@ -96,7 +104,7 @@ class MyHome extends StatelessWidget {
// Hier Aktion für Löschen ausführen
Navigator.of(context).pop(); // Dialog schließen
},
child: Text("Löschen"),
child: Text(Provider.of<LanguageProvider>(context, listen: false).languageData[Provider.of<LanguageProvider>(context, listen: false).language]["floating"]["delete"]["del"]),
)
],
);
@@ -142,36 +150,54 @@ class MyHome extends StatelessWidget {
backgroundColor: Theme.of(context).colorScheme.primary,
actions: [
IconButton(
icon: Image.asset(
'assets/flags/de.png',
width: 34,
height: 24,
fit: BoxFit.cover,
), // Erster Button rechts
icon: Opacity(
opacity: Provider.of<LanguageProvider>(context).language == "de"
? 1.0 // Voll sichtbar
: 0.4, // Halb durchsichtig
child: Image.asset(
'assets/flags/de.png',
width: 34,
height: 24,
fit: BoxFit.cover,
),
),
onPressed: () {
// Aktion für diesen Button
Provider.of<LanguageProvider>(context, listen: false)
.setLanguage("de");
},
),
IconButton(
icon: Image.asset(
'assets/flags/fr.png',
width: 34,
height: 24,
fit: BoxFit.cover,
), // Zweiter Button rechts
icon: Opacity(
opacity: Provider.of<LanguageProvider>(context).language == "en"
? 1.0 // Voll sichtbar
: 0.4, // Halb durchsichtig
child: Image.asset(
'assets/flags/en.png',
width: 34,
height: 24,
fit: BoxFit.cover,
),
),
onPressed: () {
// Aktion für diesen Button
Provider.of<LanguageProvider>(context, listen: false)
.setLanguage("en");
},
),
IconButton(
icon: Image.asset(
'assets/flags/en.png',
width: 34,
height: 24,
fit: BoxFit.cover,
), // Dritter Button rechts
icon: Opacity(
opacity: Provider.of<LanguageProvider>(context).language == "fr"
? 1.0 // Voll sichtbar
: 0.4, // Halb durchsichtig
child: Image.asset(
'assets/flags/fr.png',
width: 34,
height: 24,
fit: BoxFit.cover,
),
),
onPressed: () {
// Aktion für diesen Button
Provider.of<LanguageProvider>(context, listen: false)
.setLanguage("fr");
},
),
],