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",
"mHund": "Hund dabei",
"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"
},
"aktuell": "currently",
"selberMorgen": "same morning",
"nacht": "last night",
"letzteNacht": "last night",
"vortag": "day before",
"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
VarTextField(
textController: getTextFields()["Wetter"]!,
localization: "Wetter",
localization: AppLocalizations.of(context)!.wetter,
dbName: "Wetter",
required: false,
dbDesignation: DatabasesEnum.excursion,
@@ -242,7 +242,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
// ---------- Temperature
VarTextField(
textController: getTextFields()["Temperat"]!,
localization: "Temperatur",
localization: AppLocalizations.of(context)!.temperatur,
dbName: "Temperat",
required: false,
dbDesignation: DatabasesEnum.excursion,
@@ -307,7 +307,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
// ---------- Remarks
VarTextField(
textController: getTextFields()["Bemerk"]!,
localization: "Bemerkungen",
localization: AppLocalizations.of(context)!.sonstbemerkungen,
dbName: "Bemerk",
required: false,
dbDesignation: DatabasesEnum.excursion,
@@ -318,7 +318,7 @@ class _ExcursionMainState extends State<ExcursionMain> {
// ---------- Internal communication
VarTextField(
textController: getTextFields()["IntKomm"]!,
localization: "Interne Kommunikation",
localization: AppLocalizations.of(context)!.intkomm,
dbName: "IntKomm",
required: false,
dbDesignation: DatabasesEnum.excursion,

View File

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

View File

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

View File

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

View File

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

View File

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