Lokalisierung implementieren #112

Merged
sneeex merged 41 commits from feature/100-lokalisierung-hinzufügen into development 2026-01-07 11:30:11 +00:00
Owner

Lokalisierung implementieren

Zugehörige Issue(s):
Closes #100

Beschreibung

Lokalisierung wurde für die gesamte App implementiert.

Änderungen

  • Dependencies aktualisiert & Code Generation aktiviert
  • Lokalisierungskonfiguration gemäß Vorgabe in #100 erstellt
  • Übersetzungs-Keys für alle Strings erstellt
  • Übersetzungs-Keys in die App implementiert

Zusätzliche Anmerkungen

Die QuickCreateButtons und ExampleGame wurden für die Lokalisierung ignoriert, weil die QuickCreateButtons ja zukünftig Games sein sollen und das ExampleGame ja nur ein Platzhalter ist

In der ChooseGroupView habe ich erstmal als Übersetzung Kein/Kein/Keine genutzt, finde das aber glaube ich unschön, ideen? Auf Englisch ist es None.

# Lokalisierung implementieren **Zugehörige Issue(s):** Closes #100 ## Beschreibung Lokalisierung wurde für die gesamte App implementiert. ## Änderungen - [x] Dependencies aktualisiert & Code Generation aktiviert - [x] Lokalisierungskonfiguration gemäß Vorgabe in #100 erstellt - [x] Übersetzungs-Keys für alle Strings erstellt - [x] Übersetzungs-Keys in die App implementiert ## Zusätzliche Anmerkungen Die `QuickCreateButtons` und `ExampleGame` wurden für die Lokalisierung ignoriert, weil die `QuickCreateButtons` ja zukünftig Games sein sollen und das `ExampleGame` ja nur ein Platzhalter ist In der `ChooseGroupView` habe ich erstmal als Übersetzung Kein/Kein/Keine genutzt, finde das aber glaube ich unschön, ideen? Auf Englisch ist es None.
sneeex self-assigned this 2025-12-31 23:23:49 +00:00
sneeex added 4 commits 2025-12-31 23:23:50 +00:00
sneeex requested review from Owners 2025-12-31 23:23:50 +00:00
sneeex added 2 commits 2025-12-31 23:34:58 +00:00
# Conflicts:
#	lib/presentation/views/main_menu/statistics_view.dart
merged dev into branch and fixed missing comma
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m3s
Pull Request Pipeline / lint (pull_request) Failing after 2m5s
ed9e3af768
sneeex added 1 commit 2025-12-31 23:39:19 +00:00
added missings consts
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m4s
Pull Request Pipeline / lint (pull_request) Failing after 2m8s
73aea0d0f5
sneeex added 1 commit 2025-12-31 23:42:24 +00:00
Optimized ruleset selection in CreateMatchView
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m2s
Pull Request Pipeline / lint (pull_request) Successful in 2m6s
86dbc9afb0
sneeex added 1 commit 2026-01-01 16:40:41 +00:00
Refactored German localization strings by removing redundant entries
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m3s
Pull Request Pipeline / lint (pull_request) Successful in 2m25s
0bfaba4225
sneeex added 1 commit 2026-01-01 16:42:42 +00:00
added auto-generated files to git
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m26s
Pull Request Pipeline / lint (pull_request) Successful in 2m26s
7bf03ec388
sneeex added 1 commit 2026-01-01 16:43:27 +00:00
added devtools_options.yaml to .gitignore
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m16s
Pull Request Pipeline / lint (pull_request) Successful in 2m23s
f97c341b81
sneeex added 1 commit 2026-01-01 17:09:53 +00:00
made statistics_view.dart use localization and fix merge error
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m41s
Pull Request Pipeline / lint (pull_request) Successful in 2m42s
81f63c1c07
sneeex added 1 commit 2026-01-01 17:10:10 +00:00
Updated search bar hint texts to use localization for group and player searches
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m38s
Pull Request Pipeline / lint (pull_request) Failing after 2m54s
633a21d829
sneeex added 1 commit 2026-01-01 17:10:27 +00:00
add generated files
Some checks failed
Pull Request Pipeline / lint (pull_request) Failing after 2m47s
Pull Request Pipeline / test (pull_request) Successful in 2m27s
ad87dca674
sneeex added 1 commit 2026-01-01 17:10:46 +00:00
Add localization for search input fields in English and German
All checks were successful
Pull Request Pipeline / lint (pull_request) Successful in 2m26s
Pull Request Pipeline / test (pull_request) Successful in 2m15s
bc01a6de9a
sneeex added 2 commits 2026-01-01 17:18:18 +00:00
Add localization for no statistics available message and removed dots from all messages
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m6s
Pull Request Pipeline / lint (pull_request) Successful in 2m11s
8afba5680b
sneeex added 3 commits 2026-01-01 17:32:05 +00:00
sneeex added 1 commit 2026-01-01 17:33:48 +00:00
Merge branch 'development' into feature/100-lokalisierung-hinzufügen
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m11s
Pull Request Pipeline / lint (pull_request) Failing after 2m35s
7e21c65026
sneeex added 4 commits 2026-01-01 17:44:46 +00:00
sneeex changed title from WIP: Lokalisierung implementieren to Lokalisierung implementieren 2026-01-01 17:49:02 +00:00
sneeex added this to the Minimum Viable Product (MVP) milestone 2026-01-01 17:49:10 +00:00
sneeex added the
PR
Ready for Review
2
label 2026-01-01 17:49:13 +00:00
flixcoo added the
Workflow
On Hold
3
label 2026-01-01 21:41:31 +00:00
sneeex added 1 commit 2026-01-01 21:43:21 +00:00
Merge branch 'development' into feature/100-lokalisierung-hinzufügen
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m34s
Pull Request Pipeline / lint (pull_request) Successful in 2m36s
4451f9e2a9
sneeex added 1 commit 2026-01-02 17:52:16 +00:00
Merge remote-tracking branch 'origin/development' into feature/100-lokalisierung-hinzufügen
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m15s
Pull Request Pipeline / lint (pull_request) Successful in 2m15s
7f923f6dff
# Conflicts:
#	lib/presentation/views/main_menu/home_view.dart
#	lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart
#	lib/presentation/views/main_menu/match_view/match_view.dart
Owner

Ggf. Sinnvoll einen Fallback einzubauen (Englisch), so sieht das bei mir im Cabo Counter aus:

supportedLocales: const [
  Locale('en'), // English
  Locale('de'), // German
],
localeResolutionCallback: (locale, supportedLocales) {
  for (final supportedLocale in supportedLocales) {
    if (supportedLocale.languageCode == locale?.languageCode) {
      return supportedLocale;
    }
  }
  return supportedLocales.first;
},
Ggf. Sinnvoll einen Fallback einzubauen (Englisch), so sieht das bei mir im Cabo Counter aus: ```dart supportedLocales: const [ Locale('en'), // English Locale('de'), // German ], localeResolutionCallback: (locale, supportedLocales) { for (final supportedLocale in supportedLocales) { if (supportedLocale.languageCode == locale?.languageCode) { return supportedLocale; } } return supportedLocales.first; }, ```
sneeex added 1 commit 2026-01-02 18:01:49 +00:00
made getters non nullable and removed all null assertion operators
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m10s
Pull Request Pipeline / lint (pull_request) Failing after 2m11s
3c22b084d6
sneeex added 1 commit 2026-01-02 20:11:42 +00:00
configure en locale as fallback
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m5s
Pull Request Pipeline / lint (pull_request) Failing after 2m7s
22fcff73bd
sneeex added 2 commits 2026-01-02 20:16:15 +00:00
removed unneccessary null assertion operators
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m3s
Pull Request Pipeline / lint (pull_request) Successful in 2m6s
678ab90af3
sneeex removed the
Workflow
On Hold
3
label 2026-01-02 20:16:41 +00:00
sneeex added 2 commits 2026-01-02 20:28:49 +00:00
increase title_description_list_tile width to make german translation fully visible
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m9s
Pull Request Pipeline / lint (pull_request) Successful in 2m23s
132966f3d2
sneeex added 1 commit 2026-01-02 20:32:54 +00:00
Merge remote-tracking branch 'origin/development' into feature/100-lokalisierung-hinzufügen
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m7s
Pull Request Pipeline / lint (pull_request) Successful in 2m12s
31abb7f1e4
# Conflicts:
#	lib/presentation/widgets/player_selection.dart
Owner

Idee zu "Matches"

"Matches" sind aktuell im Deutschen auch "Matches", weil "Games" "Spiele" sind. Man könnte überlegen, die Übersetzung folgendermaßen anzupassen:

Match: Spiel
Game: Spielvorlage
# Idee zu "Matches" "Matches" sind aktuell im Deutschen auch "Matches", weil "Games" "Spiele" sind. Man könnte überlegen, die Übersetzung folgendermaßen anzupassen: ``` Match: Spiel Game: Spielvorlage ```
flixcoo requested changes 2026-01-03 10:28:08 +00:00
Dismissed
flixcoo left a comment
Owner

Generell wäre es glaub ich stilistisch sinnvoller, wenn du in allen Widgets, wo du Lokalisierungen implementiert hast, eine Variable erstellst, z.B.

final loc = AppLocalizations.of(context)

damit die Variablen nicht immer so lang sind

Generell wäre es glaub ich stilistisch sinnvoller, wenn du in allen Widgets, wo du Lokalisierungen implementiert hast, eine Variable erstellst, z.B. ```dart final loc = AppLocalizations.of(context) ``` damit die Variablen nicht immer so lang sind
@@ -0,0 +67,4 @@
"home": "Startseite",
"statistics": "Statistiken",
"stats": "Statistiken",
"players_count": "{count} Spieler",
Owner

Gendern? (auch generell)

Gendern? (auch generell)
sneeex marked this conversation as resolved
lib/main.dart Outdated
@@ -19,7 +20,20 @@ class GameTracker extends StatelessWidget {
@override
Widget build(BuildContext context) {
print(AppLocalizations.supportedLocales.first);
Owner

Debug-Print entfernen

Debug-Print entfernen
sneeex marked this conversation as resolved
lib/main.dart Outdated
@@ -23,2 +35,4 @@
);
},
debugShowCheckedModeBanner: false,
title: 'Game Tracker',
Owner

Lokalisierung fehlt

Lokalisierung fehlt
sneeex marked this conversation as resolved
@@ -100,1 +100,3 @@
style: TextStyle(color: Colors.white),
AppLocalizations.of(
context,
).error_while_creating_group_please_try_again,
Owner

Abkürzen für etwas generelles, z.B. creating_group_error oder creating_group_error_message

Abkürzen für etwas generelles, z.B. `creating_group_error` oder `creating_group_error_message`
sneeex marked this conversation as resolved
@@ -116,0 +116,4 @@
child: Text(
AppLocalizations.of(
context,
).no_recent_matches_available,
Owner

Idee: Generell alle Info-Messages auch als solche bennenen z.B. info_no_recent_matches

Idee: Generell alle Info-Messages auch als solche bennenen z.B. `info_no_recent_matches`
Author
Owner

finde ich eigentlich unnötig

finde ich eigentlich unnötig
Author
Owner

weil eigentlich kann man die messages ja auch anders benutzen und es ist ja eigentlich egal obs ne info ist

weil eigentlich kann man die messages ja auch anders benutzen und es ist ja eigentlich egal obs ne info ist
flixcoo marked this conversation as resolved
@@ -125,0 +128,4 @@
game: AppLocalizations.of(context).winner_label,
ruleset: AppLocalizations.of(
context,
).ruleset_label,
Owner

Wenn winner_labelund ruleset_label nirgends anders verwendet werden, einfach die normalen Strings belassen, weil diese ja in Zukunft durch das Ruleset und das Game ersetzt werden

Wenn `winner_label`und `ruleset_label` nirgends anders verwendet werden, einfach die normalen Strings belassen, weil diese ja in Zukunft durch das Ruleset und das Game ersetzt werden
sneeex marked this conversation as resolved
@@ -119,0 +93,4 @@
return [
(
Ruleset.singleWinner,
AppLocalizations.of(context).ruleset_single_winner_desc,
Owner

Warum _desc?

Warum `_desc`?
sneeex marked this conversation as resolved
@@ -86,0 +89,4 @@
AppLocalizations.of(context).delete_all_data,
),
content: Text(
AppLocalizations.of(context).this_cannot_be_undone,
Owner

Hier auch sowas wie popup oder so mit einbauen, dass klar wird, wozu dieser text ist

Hier auch sowas wie `popup` oder so mit einbauen, dass klar wird, wozu dieser text ist
Author
Owner

finde nicht, das kann man für verschiedene sachen nutzen und reicht so m. M. n.

finde nicht, das kann man für verschiedene sachen nutzen und reicht so m. M. n.
flixcoo marked this conversation as resolved
@@ -125,1 +135,3 @@
showSnackbar(context: context, message: 'Data successfully imported');
showSnackbar(
context: context,
message: AppLocalizations.of(context).data_successfully_imported,
Owner

hier sowas wie snackbar?

hier sowas wie `snackbar`?
Author
Owner

auch nicht relevant m. M. n.

auch nicht relevant m. M. n.
flixcoo marked this conversation as resolved
flixcoo added
PR
In Review
1
and removed
PR
Ready for Review
2
labels 2026-01-03 10:28:20 +00:00
sneeex added 2 commits 2026-01-03 14:39:15 +00:00
# Conflicts:
#	lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart
#	lib/presentation/views/main_menu/match_view/create_match/choose_group_view.dart
#	lib/presentation/views/main_menu/match_view/create_match/choose_ruleset_view.dart
implement changes
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m27s
Pull Request Pipeline / lint (pull_request) Successful in 2m33s
ec94e12ed7
sneeex requested review from flixcoo 2026-01-03 14:39:30 +00:00
sneeex added 1 commit 2026-01-05 15:04:21 +00:00
Merge branch 'development' into feature/100-lokalisierung-hinzufügen
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m8s
Pull Request Pipeline / lint (pull_request) Successful in 2m12s
5db008c274
flixcoo approved these changes 2026-01-06 20:25:22 +00:00
Dismissed
@@ -0,0 +1,83 @@
{
Owner

Datei alphabetisch sortieren

Datei alphabetisch sortieren
sneeex marked this conversation as resolved
@@ -0,0 +1,373 @@
{
Owner

Datei alphabetisch sortierne

Datei alphabetisch sortierne
sneeex marked this conversation as resolved
@@ -0,0 +90,4 @@
}
}
},
"winner": "Winner: {winnerName}",
Owner

Würde : und die Variable wegnehmen. Wäre die Variable innerhalb des Strings, dann sinnvoll, ansonsten nicht und einfach an der jeweiligen Stelle mit interpolation machen

Würde `:` und die Variable wegnehmen. Wäre die Variable innerhalb des Strings, dann sinnvoll, ansonsten nicht und einfach an der jeweiligen Stelle mit interpolation machen
sneeex marked this conversation as resolved
sneeex added 2 commits 2026-01-07 11:00:57 +00:00
Sort files
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m17s
Pull Request Pipeline / lint (pull_request) Failing after 2m24s
a487e4071f
sneeex dismissed flixcoo's review 2026-01-07 11:00:57 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

sneeex added 1 commit 2026-01-07 11:08:24 +00:00
change double to single quotes
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m2s
Pull Request Pipeline / lint (pull_request) Successful in 2m6s
1dc5286c6b
sneeex scheduled this pull request to auto merge when all checks succeed 2026-01-07 11:14:28 +00:00
sneeex added 1 commit 2026-01-07 11:28:05 +00:00
Merge branch 'development' into feature/100-lokalisierung-hinzufügen
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m2s
Pull Request Pipeline / lint (pull_request) Successful in 2m4s
52180eeb6d
flixcoo approved these changes 2026-01-07 11:29:05 +00:00
sneeex merged commit 8df9a27dc7 into development 2026-01-07 11:30:11 +00:00
sneeex deleted branch feature/100-lokalisierung-hinzufügen 2026-01-07 11:30:11 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: liquid-development/game-tracker#112