Lokalisierung implementieren #112

Merged
sneeex merged 41 commits from feature/100-lokalisierung-hinzufügen into development 2026-01-07 11:30:11 +00:00
7 changed files with 17 additions and 21 deletions
Showing only changes of commit 678ab90af3 - Show all commits

View File

@@ -99,7 +99,7 @@ class _CreateGroupViewState extends State<CreateGroupView> {
child: Text(
AppLocalizations.of(
context,
)!.error_while_creating_group_please_try_again,
).error_while_creating_group_please_try_again,
sneeex marked this conversation as resolved Outdated

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`
style: const TextStyle(color: Colors.white),
),
),

View File

@@ -116,7 +116,7 @@ class _HomeViewState extends State<HomeView> {
child: Text(
AppLocalizations.of(
context,
)!.no_recent_matches_available,
).no_recent_matches_available,
flixcoo marked this conversation as resolved Outdated

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`

finde ich eigentlich unnötig

finde ich eigentlich unnötig

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
),
),
child: Column(
@@ -128,12 +128,12 @@ class _HomeViewState extends State<HomeView> {
game: AppLocalizations.of(context).winner_label,
ruleset: AppLocalizations.of(
context,
)!.ruleset_label,
).ruleset_label,
sneeex marked this conversation as resolved Outdated

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
players: _getPlayerText(recentMatches[0]),
winner: recentMatches[0].winner == null
? AppLocalizations.of(
context,
)!.match_in_progress
).match_in_progress
: recentMatches[0].winner!.name,
),
const Padding(
@@ -143,17 +143,15 @@ class _HomeViewState extends State<HomeView> {
if (loadedRecentMatches.length > 1) ...[
MatchSummaryTile(
matchTitle: recentMatches[1].name,
game: AppLocalizations.of(
context,
)!.winner_label,
game: AppLocalizations.of(context).winner_label,
ruleset: AppLocalizations.of(
context,
)!.ruleset_label,
).ruleset_label,
players: _getPlayerText(recentMatches[1]),
winner: recentMatches[1].winner == null
? AppLocalizations.of(
context,
)!.match_in_progress
).match_in_progress
: recentMatches[1].winner!.name,
),
const SizedBox(height: 8),
@@ -163,7 +161,7 @@ class _HomeViewState extends State<HomeView> {
child: Text(
AppLocalizations.of(
context,
)!.no_second_match_available,
).no_second_match_available,
),
),
],

View File

@@ -86,7 +86,7 @@ class _ChooseGroupViewState extends State<ChooseGroupView> {
title: AppLocalizations.of(context).info,
message: AppLocalizations.of(
context,
)!.there_is_no_group_matching_your_search,
).there_is_no_group_matching_your_search,
),
),
child: ListView.builder(

View File

@@ -109,7 +109,7 @@ class _SettingsViewState extends State<SettingsView> {
context: context,
message: AppLocalizations.of(
context,
)!.data_successfully_deleted,
).data_successfully_deleted,
);
}
});

View File

@@ -87,9 +87,7 @@ class _StatisticsViewState extends State<StatisticsView> {
SizedBox(height: constraints.maxHeight * 0.02),
StatisticsTile(
icon: Icons.casino,
title: AppLocalizations.of(
context,
)!.amount_of_matches,
title: AppLocalizations.of(context).amount_of_matches,
width: constraints.maxWidth * 0.95,
values: matchCounts,
itemCount: 10,
@@ -102,7 +100,7 @@ class _StatisticsViewState extends State<StatisticsView> {
title: AppLocalizations.of(context).info,
message: AppLocalizations.of(
context,
)!.no_statistics_available,
).no_statistics_available,
),
),
SizedBox(height: MediaQuery.paddingOf(context).bottom),

View File

@@ -132,7 +132,7 @@ class _PlayerSelectionState extends State<PlayerSelection> {
Text(
AppLocalizations.of(
context,
)!.selected_players(selectedPlayers.length),
).selected_players(selectedPlayers.length),
style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
),
const SizedBox(height: 10),
@@ -206,7 +206,7 @@ class _PlayerSelectionState extends State<PlayerSelection> {
? AppLocalizations.of(context).all_players_selected
: AppLocalizations.of(
context,
)!.no_players_found_with_that_name,
).no_players_found_with_that_name,
),
child: ListView.builder(
itemCount: suggestedPlayers.length,
@@ -264,7 +264,7 @@ class _PlayerSelectionState extends State<PlayerSelection> {
child: Text(
AppLocalizations.of(
context,
)!.successfully_added_player(playerName),
).successfully_added_player(playerName),
style: const TextStyle(color: Colors.white),
),
),

View File

@@ -144,11 +144,11 @@ class _MatchTileState extends State<MatchTile> {
if (difference.inDays == 0) {
return AppLocalizations.of(
context,
)!.today_at(DateFormat('HH:mm').format(dateTime));
).today_at(DateFormat('HH:mm').format(dateTime));
} else if (difference.inDays == 1) {
return AppLocalizations.of(
context,
)!.yesterday_at(DateFormat('HH:mm').format(dateTime));
).yesterday_at(DateFormat('HH:mm').format(dateTime));
} else if (difference.inDays < 7) {
return AppLocalizations.of(context).days_ago(difference.inDays);
} else {