made everything use localizations

fixed one last localization
This commit is contained in:
Nico
2025-05-05 21:56:09 +02:00
parent 522d9885f6
commit 4672e20968
9 changed files with 178 additions and 117 deletions

View File

@@ -116,5 +116,41 @@
"kein": "Kein", "kein": "Kein",
"mHund": "Hund dabei", "mHund": "Hund dabei",
"mLeine": "Mit Leine", "mLeine": "Mit Leine",
"name": "Name" "name": "Name",
} "aktuell": "Aktuell",
"selberMorgen": "Selber morgen",
"letzteNacht": "Letzte Nacht",
"vortag": "Vortag",
"vor23Tagen": "vor 2/3 Tagen",
"vor46Tagen": "vor 4/6 Tagen",
"vor1Woche": "=> 1 week",
"letzterNiederschlag": "Letzter Niederschlag",
"wetter": "Wetter",
"temperatur": "Temperatur",
"auto": "Auto",
"zuFuss": "Zu Fuss",
"fahrrad": "Fahrrad",
"gesamt": "Gesamt",
"spurbedingungen": "Spurbedingungen",
"gut": "Gut",
"mittel": "Mittel",
"schlecht": "Schlecht",
"spurGefunden": "Spur gefunden",
"gesLaengeAllerDokSpuren": "Gesamte Länge aller dok. Spuren",
"maxAnzahlZusGefaehrdeterTiere": "Max. Anzahl zus. gefährdeter Tiere",
"sicher": "Sicher",
"welpenSpurGefunden": "Welpenspur gefunden",
"anzahlLosungen": "Anzahl losungen",
"davonEingesammelt": "Davon eingesammelt",
"davonGenetikproben": "Davon Genetikproben",
"anzahlUrinMakierstellen": "Anzahl Urin-/Makierstellen",
"anzahlOestrusblut": "Anzahl Oestrusblut",
"anzahlHaarproben": "Anzahl Haarproben",
"liegestelle": "Liegestelle",
"wildtierKadaver": "Wildtierkadaver",
"sichtung": "Sichtung",
"heulen": "Heulen",
"sonstiges": "Sonstiges",
"hinweise": "Hinweise"
}

View File

@@ -574,28 +574,74 @@
"description": "name text field" "description": "name text field"
}, },
"aktuell": "currently", "aktuell": "currently",
"selberMorgen": "same morning", "selberMorgen": "same morning",
"letzteNacht": "last night",
"nacht": "last night",
"vortag": "day before", "vortag": "day before",
"vor23Tagen": "2/3 days ago", "vor23Tagen": "2/3 days ago",
"vor46Tagen": "4/6 days ago",
"vor46Tagen": "4/6 daps ago", "vor1Woche": "=> 1 week",
"letzterNiederschlag": "Last precipitation",
"vor1Woche": "=< 1 week", "wetter": "Weather",
"temperatur": "Temperature",
"letzterNiederschlag": "Last precipitation" "auto": "Car",
} "zuFuss": "Per foot",
"fahrrad": "Bike",
"gesamt": "Total",
"spurbedingungen": "Track conditions",
"gut": "Good",
"mittel": "Middle",
"schlecht": "Bad",
"spurGefunden": "Track Found",
"gesLaengeAllerDokSpuren": "Total length of documentad tracks",
"maxAnzahlZusGefaehrdeterTiere": "Max count of additonal dangered animals",
"sicher": "Certain",
"welpenSpurGefunden": "Puppy track Found",
"anzahlLosungen": "Losung count",
"davonEingesammelt": "of which collected",
"davonGenetikproben": "of which genetic samples",
"anzahlUrinMakierstellen": "Urin/-makery spots count",
"anzahlOestrusblut": "Oestrus bloos count",
"anzahlHaarproben": "Hair samples count",
"liegestelle": "Laying spot",
"wildtierKadaver": "Wildlife carcass",
"sichtung": "Sighting",
"heulen": "Howling",
"sonstiges": "Sonstiges",
"hinweise": "clues"
}

View File

@@ -233,7 +233,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
// TODO CHANGE TO LOCALIZATION // TODO CHANGE TO LOCALIZATION
VarTextField( VarTextField(
textController: getTextFields()["Wetter"]!, textController: getTextFields()["Wetter"]!,
localization: "Wetter", localization: AppLocalizations.of(context)!.wetter,
dbName: "Wetter", dbName: "Wetter",
required: false, required: false,
dbDesignation: DatabasesEnum.excursion, dbDesignation: DatabasesEnum.excursion,
@@ -242,7 +242,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
// ---------- Temperature // ---------- Temperature
VarTextField( VarTextField(
textController: getTextFields()["Temperat"]!, textController: getTextFields()["Temperat"]!,
localization: "Temperatur", localization: AppLocalizations.of(context)!.temperatur,
dbName: "Temperat", dbName: "Temperat",
required: false, required: false,
dbDesignation: DatabasesEnum.excursion, dbDesignation: DatabasesEnum.excursion,
@@ -307,7 +307,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
// ---------- Remarks // ---------- Remarks
VarTextField( VarTextField(
textController: getTextFields()["Bemerk"]!, textController: getTextFields()["Bemerk"]!,
localization: "Bemerkungen", localization: AppLocalizations.of(context)!.sonstbemerkungen,
dbName: "Bemerk", dbName: "Bemerk",
required: false, required: false,
dbDesignation: DatabasesEnum.excursion, dbDesignation: DatabasesEnum.excursion,
@@ -318,7 +318,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
// ---------- Internal communication // ---------- Internal communication
VarTextField( VarTextField(
textController: getTextFields()["IntKomm"]!, textController: getTextFields()["IntKomm"]!,
localization: "Interne Kommunikation", localization: AppLocalizations.of(context)!.intkomm,
dbName: "IntKomm", dbName: "IntKomm",
required: false, required: false,
dbDesignation: DatabasesEnum.excursion, dbDesignation: DatabasesEnum.excursion,

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class Anzahlen extends StatefulWidget { class Anzahlen extends StatefulWidget {
final TextEditingController losungAnz; final TextEditingController losungAnz;
@@ -43,8 +44,7 @@ class AnzahlenState extends State<Anzahlen> {
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(
"Anzahl Losungen", AppLocalizations.of(context)!.anzahlLosungen)),
)),
), ),
const SizedBox( const SizedBox(
width: 20, width: 20,
@@ -61,8 +61,7 @@ class AnzahlenState extends State<Anzahlen> {
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(
"davon eingesammelt", AppLocalizations.of(context)!.davonEingesammelt)),
)),
), ),
const SizedBox( const SizedBox(
width: 20, width: 20,
@@ -84,8 +83,7 @@ class AnzahlenState extends State<Anzahlen> {
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(
"davon Genetikproben", AppLocalizations.of(context)!.davonGenetikproben),
),
), ),
), ),
const SizedBox( const SizedBox(
@@ -106,9 +104,8 @@ class AnzahlenState extends State<Anzahlen> {
flex: 2, flex: 2,
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(AppLocalizations.of(context)!
"Anzahl Urin-/Makierstellen", .anzahlUrinMakierstellen)),
)),
), ),
const SizedBox( const SizedBox(
width: 20, width: 20,
@@ -124,9 +121,8 @@ class AnzahlenState extends State<Anzahlen> {
flex: 2, flex: 2,
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(AppLocalizations.of(context)!
"davon Genetikproben", .davonGenetikproben)),
)),
), ),
const SizedBox( const SizedBox(
width: 20, width: 20,
@@ -150,8 +146,7 @@ class AnzahlenState extends State<Anzahlen> {
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(
"Anzahl Oestrusblut", AppLocalizations.of(context)!.anzahlOestrusblut)),
)),
), ),
const SizedBox( const SizedBox(
width: 20, width: 20,
@@ -167,9 +162,8 @@ class AnzahlenState extends State<Anzahlen> {
flex: 2, flex: 2,
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(AppLocalizations.of(context)!
"davon Genetikproben", .davonGenetikproben)),
)),
), ),
const SizedBox( const SizedBox(
width: 20, width: 20,
@@ -193,8 +187,7 @@ class AnzahlenState extends State<Anzahlen> {
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(
"Anzahl Haarproben", AppLocalizations.of(context)!.anzahlHaarproben)),
)),
), ),
const SizedBox( const SizedBox(
width: 20, width: 20,
@@ -210,9 +203,8 @@ class AnzahlenState extends State<Anzahlen> {
flex: 2, flex: 2,
child: Align( child: Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(AppLocalizations.of(context)!
"davon Genetikproben", .davonGenetikproben)),
)),
), ),
const SizedBox( const SizedBox(
width: 20, width: 20,

View File

@@ -1,6 +1,7 @@
import 'package:fforte/enums/databases.dart'; import 'package:fforte/enums/databases.dart';
import 'package:fforte/screens/sharedWidgets/var_text_field.dart'; import 'package:fforte/screens/sharedWidgets/var_text_field.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class Hinweise extends StatefulWidget { class Hinweise extends StatefulWidget {
final TextEditingController hinweise; final TextEditingController hinweise;
@@ -12,14 +13,13 @@ class Hinweise extends StatefulWidget {
} }
class _HinweiseState extends State<Hinweise> { class _HinweiseState extends State<Hinweise> {
// Vars for Checkboxes // Vars for Checkboxes
bool liegestelleChecked = false; bool liegestelleChecked = false;
bool kadaverChecked = false; bool kadaverChecked = false;
bool sichtungChecked = false; bool sichtungChecked = false;
bool heulenChecked = false; bool heulenChecked = false;
bool sonstigesChecked = false; bool sonstigesChecked = false;
// for sonstiges textfield // for sonstiges textfield
TextEditingController sonstigesController = TextEditingController(); TextEditingController sonstigesController = TextEditingController();
@@ -37,87 +37,77 @@ class _HinweiseState extends State<Hinweise> {
void updateController() { void updateController() {
Map<String, bool> props = { Map<String, bool> props = {
"liegestelle": liegestelleChecked, "liegestelle": liegestelleChecked,
"kadaver": kadaverChecked, "kadaver": kadaverChecked,
"sichtung": sichtungChecked, "sichtung": sichtungChecked,
"heulen": heulenChecked, "heulen": heulenChecked,
"sonstiges": sonstigesChecked "sonstiges": sonstigesChecked
}; };
bool firstRun = true; bool firstRun = true;
widget.hinweise.text = ""; widget.hinweise.text = "";
for (String key in props.keys) { for (String key in props.keys) {
if (!firstRun) { if (!firstRun) {
widget.hinweise.text += ";"; widget.hinweise.text += ";";
} }
if (key == "sonstiges") { if (key == "sonstiges") {
widget.hinweise.text += "$key:${sonstigesController.text}"; widget.hinweise.text += "$key:${sonstigesController.text}";
} else { } else {
widget.hinweise.text += "$key:${props[key]}"; widget.hinweise.text += "$key:${props[key]}";
} }
firstRun = false; firstRun = false;
}
} }
print(widget.hinweise.text);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return return Column(
Column( children: [
children: [ CheckboxListTile(
CheckboxListTile( title: Text(AppLocalizations.of(context)!.liegestelle),
title: Text("Liegestelle"), value: liegestelleChecked,
value: liegestelleChecked,
onChanged: (bool? value) { onChanged: (bool? value) {
setState(() => liegestelleChecked = value ?? false); setState(() => liegestelleChecked = value ?? false);
updateController(); updateController();
} }),
), CheckboxListTile(
title: Text(AppLocalizations.of(context)!.wildtierKadaver),
CheckboxListTile( value: kadaverChecked,
title: Text("Wildtierkadaver"),
value: kadaverChecked,
onChanged: (bool? value) { onChanged: (bool? value) {
setState(() => kadaverChecked = value ?? false); setState(() => kadaverChecked = value ?? false);
updateController(); updateController();
} }),
), CheckboxListTile(
title: Text(AppLocalizations.of(context)!.sichtung),
CheckboxListTile( value: sichtungChecked,
title: Text("Sichtung"),
value: sichtungChecked,
onChanged: (bool? value) { onChanged: (bool? value) {
setState(() => sichtungChecked = value ?? false); setState(() => sichtungChecked = value ?? false);
updateController(); updateController();
} }),
), CheckboxListTile(
title: Text(AppLocalizations.of(context)!.heulen),
CheckboxListTile( value: heulenChecked,
title: Text("Heulen"),
value: heulenChecked,
onChanged: (bool? value) { onChanged: (bool? value) {
setState(() => heulenChecked = value ?? false); setState(() => heulenChecked = value ?? false);
updateController(); updateController();
} }),
), CheckboxListTile(
CheckboxListTile( title: Text(AppLocalizations.of(context)!.sonstiges),
title: Text("Sonstiges"), value: sonstigesChecked,
value: sonstigesChecked,
onChanged: (bool? value) { onChanged: (bool? value) {
setState(() => sonstigesChecked = value ?? false); setState(() => sonstigesChecked = value ?? false);
updateController(); updateController();
} }),
), if (sonstigesChecked)
VarTextField(
if (sonstigesChecked) textController: sonstigesController,
VarTextField(textController: sonstigesController, localization: "Sonstiges", dbName: "HinweiseSonstiges", required: false, dbDesignation: DatabasesEnum.excursion) localization: AppLocalizations.of(context)!.sonstiges,
], dbName: "HinweiseSonstiges",
); required: false,
dbDesignation: DatabasesEnum.excursion)
],
);
} }
} }

View File

@@ -34,7 +34,7 @@ class LetzterNiederschlagState extends State<LetzterNiederschlag> {
), ),
DropdownMenuItem<String>( DropdownMenuItem<String>(
value: "nacht", value: "nacht",
child: Text(AppLocalizations.of(context)!.nacht), child: Text(AppLocalizations.of(context)!.letzteNacht),
), ),
DropdownMenuItem<String>( DropdownMenuItem<String>(
value: "vortag", value: "vortag",

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class SpurGefunden extends StatefulWidget { class SpurGefunden extends StatefulWidget {
final TextEditingController spurFund; final TextEditingController spurFund;
@@ -35,7 +36,7 @@ class _SpurGefundenState extends State<SpurGefunden> {
children: [ children: [
Row( Row(
children: [ children: [
const Text("Spur gefunden"), Text(AppLocalizations.of(context)!.spurGefunden),
Checkbox( Checkbox(
value: _spurFundChecked, value: _spurFundChecked,
onChanged: (val) { onChanged: (val) {
@@ -53,7 +54,7 @@ class _SpurGefundenState extends State<SpurGefunden> {
children: [ children: [
Align( Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text("Gesamtlaenge aller dok. Spuren (m)")), child: Text(AppLocalizations.of(context)!.gesLaengeAllerDokSpuren)),
TextField( TextField(
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
controller: widget.spurLang, controller: widget.spurLang,
@@ -63,14 +64,14 @@ class _SpurGefundenState extends State<SpurGefunden> {
), ),
Align( Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text("max. Anzahl zus. gefaerhrterter Tiere")), child: Text(AppLocalizations.of(context)!.maxAnzahlZusGefaehrdeterTiere)),
TextField( TextField(
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
controller: widget.spurTiere, controller: widget.spurTiere,
), ),
Row( Row(
children: [ children: [
const Text("Sicher"), Text(AppLocalizations.of(context)!.sicher),
Checkbox( Checkbox(
value: _spSicher, value: _spSicher,
onChanged: (val) { onChanged: (val) {
@@ -86,7 +87,7 @@ class _SpurGefundenState extends State<SpurGefunden> {
), ),
Row( Row(
children: [ children: [
Text("Welpenspur gefunden"), Text(AppLocalizations.of(context)!.welpenSpurGefunden),
Checkbox( Checkbox(
value: _welpenSp, value: _welpenSp,
onChanged: (val) { onChanged: (val) {
@@ -103,7 +104,7 @@ class _SpurGefundenState extends State<SpurGefunden> {
children: [ children: [
Align( Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text("Gesamtlaenge aller dok. Spuren (m)")), child: Text(AppLocalizations.of(context)!.gesLaengeAllerDokSpuren)),
TextField( TextField(
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
controller: widget.welpenSp, controller: widget.welpenSp,
@@ -111,14 +112,14 @@ class _SpurGefundenState extends State<SpurGefunden> {
const SizedBox(height: 20,), const SizedBox(height: 20,),
Align( Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text("max. Anzahl zus. gefaerhrterter Welpen")), child: Text(AppLocalizations.of(context)!.maxAnzahlZusGefaehrdeterTiere)),
TextField( TextField(
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
controller: widget.welpenAnz, controller: widget.welpenAnz,
), ),
Row( Row(
children: [ children: [
const Text("Sicher"), Text(AppLocalizations.of(context)!.sicher),
Checkbox( Checkbox(
value: _wpSicher, value: _wpSicher,
onChanged: (val) { onChanged: (val) {

View File

@@ -1,4 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
// TODO FINISH!!
class StreckeUSpurbedingungen extends StatefulWidget { class StreckeUSpurbedingungen extends StatefulWidget {
final TextEditingController kmAutoController; final TextEditingController kmAutoController;
@@ -35,7 +39,7 @@ class StreckeUSpurbedingungenState extends State<StreckeUSpurbedingungen> {
)), )),
Row( Row(
children: [ children: [
Expanded(child: Text("Auto")), Expanded(child: Text(AppLocalizations.of(context)!.auto)),
Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.kmAutoController,)), Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.kmAutoController,)),
Expanded(child: Center(child: Text("="))), Expanded(child: Center(child: Text("="))),
Expanded(child: Center(child: Text(""))), Expanded(child: Center(child: Text(""))),
@@ -44,7 +48,7 @@ class StreckeUSpurbedingungenState extends State<StreckeUSpurbedingungen> {
), ),
Row( Row(
children: [ children: [
Expanded(child: Text("zu Fuss")), Expanded(child: Text(AppLocalizations.of(context)!.zuFuss)),
Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.kmFussController)), Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.kmFussController)),
Expanded(child: Center(child: Text("="))), Expanded(child: Center(child: Text("="))),
Expanded(child: Center(child: Text(""))), Expanded(child: Center(child: Text(""))),
@@ -53,7 +57,7 @@ class StreckeUSpurbedingungenState extends State<StreckeUSpurbedingungen> {
), ),
Row( Row(
children: [ children: [
Expanded(child: Text("Rad")), Expanded(child: Text(AppLocalizations.of(context)!.fahrrad)),
Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.kmRadController)), Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.kmRadController)),
Expanded(child: Center(child: Text("="))), Expanded(child: Center(child: Text("="))),
Expanded(child: Center(child: Text(""))), Expanded(child: Center(child: Text(""))),
@@ -67,7 +71,7 @@ class StreckeUSpurbedingungenState extends State<StreckeUSpurbedingungen> {
children: [ children: [
Expanded( Expanded(
flex: 1, flex: 1,
child: Text("Gesamt:"), child: Text(AppLocalizations.of(context)!.gesamt),
), ),
Expanded( Expanded(
flex: 3, flex: 3,
@@ -84,14 +88,14 @@ class StreckeUSpurbedingungenState extends State<StreckeUSpurbedingungen> {
Align( Align(
alignment: Alignment.bottomLeft, alignment: Alignment.bottomLeft,
child: Text( child: Text(
"Spurbedingungen (km)", AppLocalizations.of(context)!.spurbedingungen,
style: style:
TextStyle(fontSize: 16, decoration: TextDecoration.underline), TextStyle(fontSize: 16, decoration: TextDecoration.underline),
), ),
), ),
Row( Row(
children: [ children: [
Expanded(child: Text("Gut")), Expanded(child: Text(AppLocalizations.of(context)!.gut)),
Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.spGutController)), Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.spGutController)),
Expanded(child: Center(child: Text("="))), Expanded(child: Center(child: Text("="))),
Expanded(child: Center(child: Text(""))), Expanded(child: Center(child: Text(""))),
@@ -100,7 +104,7 @@ class StreckeUSpurbedingungenState extends State<StreckeUSpurbedingungen> {
), ),
Row( Row(
children: [ children: [
Expanded(child: Text("Mittel")), Expanded(child: Text(AppLocalizations.of(context)!.mittel)),
Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.spMittelController)), Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.spMittelController)),
Expanded(child: Center(child: Text("="))), Expanded(child: Center(child: Text("="))),
Expanded(child: Center(child: Text(""))), Expanded(child: Center(child: Text(""))),
@@ -109,7 +113,7 @@ class StreckeUSpurbedingungenState extends State<StreckeUSpurbedingungen> {
), ),
Row( Row(
children: [ children: [
Expanded(child: Text("Schlecht")), Expanded(child: Text(AppLocalizations.of(context)!.schlecht)),
Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.spSchlechtController,)), Expanded(child: TextField(keyboardType: TextInputType.number, controller: widget.spSchlechtController,)),
Expanded(child: Center(child: Text("="))), Expanded(child: Center(child: Text("="))),
Expanded(child: Center(child: Text(""))), Expanded(child: Center(child: Text(""))),

View File

@@ -1,13 +1,5 @@
{ {
"de": [ "de": [
"excursion", "excursion"
"aktuell",
"selberMorgen",
"nacht",
"vortag",
"vor23Tagen",
"vor46Tagen",
"vor1Woche",
"letzterNiederschlag"
] ]
} }