From 3b99a925c37f6a07c946e6072fde6057ff4176bb Mon Sep 17 00:00:00 2001
From: TheJanzap <16736682+TheJanzap@users.noreply.github.com>
Date: Mon, 31 Aug 2026 09:47:44 +0200
Subject: [PATCH 1/5] l10n: Add l10n for VR History
---
WheelWizard/Resources/Languages/en.yml | 12 ++++++++++++
WheelWizard/Views/Patterns/VrHistoryGraph.axaml | 15 ++++++++-------
.../Views/Patterns/VrHistoryGraph.axaml.cs | 12 ++++++------
3 files changed, 26 insertions(+), 13 deletions(-)
diff --git a/WheelWizard/Resources/Languages/en.yml b/WheelWizard/Resources/Languages/en.yml
index d527a45e..f70d0577 100644
--- a/WheelWizard/Resources/Languages/en.yml
+++ b/WheelWizard/Resources/Languages/en.yml
@@ -30,6 +30,10 @@ en:
time_online: "Time Online"
message: "Message"
is_online: "Is Online"
+ vr_history: "VR History"
+ start_vr: "Start VR"
+ end_vr: "End VR"
+ net_change: "Net Change"
mii:
gender_male: "Male"
gender: "Gender"
@@ -64,6 +68,7 @@ en:
status: "Status"
priority: "Priority"
sort_by: "Sort by"
+ matches: "Matches"
total_games_won: "Total games won"
total_games_played: "Total games played"
vr_abbreviation: "VR"
@@ -219,6 +224,8 @@ en:
no_miis: "We can't read the Mii data from your system. Make sure you started the game at least once"
no_mod_selected_title: "No mod selected"
no_mod_selected: "Select a mod in the list to view its details"
+ no_vr_history_title: "No VR history"
+ no_vr_history: "Friend code is required to load VR history."
time:
days:
1: "1 day"
@@ -232,6 +239,11 @@ en:
seconds:
1: "1 second"
n: "{$1} seconds"
+ last_24_hours: "Last 24 hours"
+ last_7_days: "Last 7 days"
+ last_30_days: "Last 30 days"
+ last_60_days: "Last 60 days"
+ lifetime: "Lifetime"
progress:
estimated_time_remaining: "Estimated time remaining:"
downloading_mb: "downloading {$1} MB"
diff --git a/WheelWizard/Views/Patterns/VrHistoryGraph.axaml b/WheelWizard/Views/Patterns/VrHistoryGraph.axaml
index 041822db..6a5fb41f 100644
--- a/WheelWizard/Views/Patterns/VrHistoryGraph.axaml
+++ b/WheelWizard/Views/Patterns/VrHistoryGraph.axaml
@@ -4,6 +4,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:behaviorComp="clr-namespace:WheelWizard.Views.Patterns"
xmlns:components="clr-namespace:WheelWizard.Views.Components"
+ xmlns:loc="clr-namespace:WheelWizard.Localization"
mc:Ignorable="d"
d:DesignWidth="560"
d:DesignHeight="390"
@@ -27,21 +28,21 @@
Margin="0,0,0,8">
-
+
-
+
-
+
-
+
@@ -69,7 +70,7 @@
@@ -135,14 +136,14 @@
())
{
@@ -377,7 +377,7 @@ private void SetNoFriendCodeState()
IsLoading = false;
ErrorMessage = string.Empty;
HasData = false;
- EmptyStateText = "Friend code is required to load VR history.";
+ EmptyStateText = t("empty_content.no_vr_history");
DateRangeText = string.Empty;
StartingVr = 0;
EndingVr = 0;
From aa2ef3519fdd82994a9e072823f2e45ecc8c76d3 Mon Sep 17 00:00:00 2001
From: TheJanzap <16736682+TheJanzap@users.noreply.github.com>
Date: Mon, 31 Aug 2026 09:57:24 +0200
Subject: [PATCH 2/5] l10n: Add German translation for VR History
---
WheelWizard/Resources/Languages/de.yml | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/WheelWizard/Resources/Languages/de.yml b/WheelWizard/Resources/Languages/de.yml
index 42de2ea9..06df7f68 100644
--- a/WheelWizard/Resources/Languages/de.yml
+++ b/WheelWizard/Resources/Languages/de.yml
@@ -27,6 +27,10 @@ de:
time_online: "Zeit online"
message: "Nachricht"
is_online: "Ist Online"
+ vr_history: "R-Punkte Verlauf"
+ start_vr: "R-Punkte zu Beginn"
+ end_vr: "R-Punkte am Ende"
+ net_change: "Nettoveränderung"
mii:
gender_male: "Weiblich"
gender: "Geschlecht"
@@ -61,6 +65,7 @@ de:
status: "Status"
priority: "Priorität"
sort_by: "Sortieren nach"
+ matches: "Filtern"
total_games_won: "Gesamte verlorene Rennen"
total_games_played: "Gesamte gewonnene Rennen"
vr_abbreviation: "RP"
@@ -205,6 +210,8 @@ de:
no_miis: "Die Mii-Daten können nicht von deinem System aus geladen werden. Stelle sicher dass du dein Spiel mind. 1 Mal neu startest."
no_mod_selected_title: "Keine Mod ausgewähltt."
no_mod_selected: "Wähle eine Mod aus der Liste um mehr Details zu sehen."
+ no_vr_history_title: "Kein R-Punkte Verlauf"
+ no_vr_history: "Ein Freundescode wird benötigt, um den R-Punkte Verlauf zu laden."
time:
days:
1: "1 Tag"
@@ -218,6 +225,11 @@ de:
seconds:
1: "1 Sekunde"
n: "{$1} Sekunden"
+ last_24_hours: "Letzte 24 Stunden"
+ last_7_days: "Letzte 7 Tage"
+ last_30_days: "Letzte 30 Tage"
+ last_60_days: "Letzte 60 Tage"
+ lifetime: "Insgesamt"
progress:
estimated_time_remaining: "Geschätzte verbleibende Zeit:"
downloading_mb: "Herunterladen mit {$1} MB"
From 22430602ba6d2570df4d90c25d6963a17415459e Mon Sep 17 00:00:00 2001
From: TheJanzap <16736682+TheJanzap@users.noreply.github.com>
Date: Mon, 31 Aug 2026 10:32:12 +0200
Subject: [PATCH 3/5] l10n: Also localize hardcoded text in VR History
functions
---
WheelWizard/Resources/Languages/de.yml | 7 ++++++-
WheelWizard/Resources/Languages/en.yml | 7 ++++++-
WheelWizard/Views/Patterns/VrHistoryGraph.axaml | 2 +-
WheelWizard/Views/Patterns/VrHistoryGraph.axaml.cs | 13 +++++++------
4 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/WheelWizard/Resources/Languages/de.yml b/WheelWizard/Resources/Languages/de.yml
index 06df7f68..5387b48c 100644
--- a/WheelWizard/Resources/Languages/de.yml
+++ b/WheelWizard/Resources/Languages/de.yml
@@ -65,7 +65,8 @@ de:
status: "Status"
priority: "Priorität"
sort_by: "Sortieren nach"
- matches: "Filtern"
+ match: "Treffer"
+ enable_matching: "Filtern"
total_games_won: "Gesamte verlorene Rennen"
total_games_played: "Gesamte gewonnene Rennen"
vr_abbreviation: "RP"
@@ -212,6 +213,7 @@ de:
no_mod_selected: "Wähle eine Mod aus der Liste um mehr Details zu sehen."
no_vr_history_title: "Kein R-Punkte Verlauf"
no_vr_history: "Ein Freundescode wird benötigt, um den R-Punkte Verlauf zu laden."
+ no_vr_history_range: "Noch kein R-Punkte Verlauf für diese Zeitspanne."
time:
days:
1: "1 Tag"
@@ -230,6 +232,8 @@ de:
last_30_days: "Letzte 30 Tage"
last_60_days: "Letzte 60 Tage"
lifetime: "Insgesamt"
+ lifetime_history: "Insgesamter Verlauf"
+ past_n_days_with_range: "Vergangene {$1} Tage ({$2} bis {$3})"
progress:
estimated_time_remaining: "Geschätzte verbleibende Zeit:"
downloading_mb: "Herunterladen mit {$1} MB"
@@ -397,6 +401,7 @@ de:
mod_download_fail:
title: "Mod Download ist schiefgelaufen."
extra: "Ein Fehler ist während dem Dowload aufgetreten."
+ failed_vr_history: "Konnte R-Punkte Verlauf nicht laden."
message_success:
settings_saved:
title: "Einstellungen erfolgreich gespeichert!"
diff --git a/WheelWizard/Resources/Languages/en.yml b/WheelWizard/Resources/Languages/en.yml
index f70d0577..e8557e4c 100644
--- a/WheelWizard/Resources/Languages/en.yml
+++ b/WheelWizard/Resources/Languages/en.yml
@@ -68,7 +68,8 @@ en:
status: "Status"
priority: "Priority"
sort_by: "Sort by"
- matches: "Matches"
+ match: "Match"
+ enable_matching: "Matches"
total_games_won: "Total games won"
total_games_played: "Total games played"
vr_abbreviation: "VR"
@@ -226,6 +227,7 @@ en:
no_mod_selected: "Select a mod in the list to view its details"
no_vr_history_title: "No VR history"
no_vr_history: "Friend code is required to load VR history."
+ no_vr_history_range: "No VR history found for this range yet."
time:
days:
1: "1 day"
@@ -244,6 +246,8 @@ en:
last_30_days: "Last 30 days"
last_60_days: "Last 60 days"
lifetime: "Lifetime"
+ lifetime_history: "Lifetime history"
+ past_n_days_with_range: "Past {$1} days ({$2} to {$3})"
progress:
estimated_time_remaining: "Estimated time remaining:"
downloading_mb: "downloading {$1} MB"
@@ -456,6 +460,7 @@ en:
mod_download_fail:
title: "Mod download failed."
extra: "An error occurred during download: {$1}"
+ failed_vr_history: "Failed to load VR history"
message_success:
settings_saved:
title: "Settings saved successfully!"
diff --git a/WheelWizard/Views/Patterns/VrHistoryGraph.axaml b/WheelWizard/Views/Patterns/VrHistoryGraph.axaml
index 6a5fb41f..4b78b8de 100644
--- a/WheelWizard/Views/Patterns/VrHistoryGraph.axaml
+++ b/WheelWizard/Views/Patterns/VrHistoryGraph.axaml
@@ -70,7 +70,7 @@
diff --git a/WheelWizard/Views/Patterns/VrHistoryGraph.axaml.cs b/WheelWizard/Views/Patterns/VrHistoryGraph.axaml.cs
index 74006724..d6d23c01 100644
--- a/WheelWizard/Views/Patterns/VrHistoryGraph.axaml.cs
+++ b/WheelWizard/Views/Patterns/VrHistoryGraph.axaml.cs
@@ -365,7 +365,7 @@ await Dispatcher.UIThread.InvokeAsync(() =>
{
HasData = false;
ResetGraph();
- ErrorMessage = result.Error?.Message ?? "Failed to load VR history";
+ ErrorMessage = result.Error?.Message ?? t("message_error.failed_vr_history");
}
IsLoading = false;
@@ -391,7 +391,7 @@ private void SetNoFriendCodeState()
private void ApplyHistoryData(RwfcPlayerVrHistoryResponse historyResponse, int days)
{
_lastHistoryResponse = historyResponse;
- EmptyStateText = "No VR history found for this range yet.";
+ EmptyStateText = t("empty_content.no_vr_history_range");
StartingVr = historyResponse.StartingVr;
EndingVr = historyResponse.EndingVr;
TotalChange = historyResponse.TotalVrChange;
@@ -407,7 +407,7 @@ private void ApplyHistoryData(RwfcPlayerVrHistoryResponse historyResponse, int d
string dateFormat = (historyResponse.FromDate.Year != historyResponse.ToDate.Year) ? "MMM d, yyyy" : "MMM d"; // to consider if you want to show the year if it goes over
var fromDate = historyResponse.FromDate.ToLocalTime().ToString(dateFormat);
var toDate = historyResponse.ToDate.ToLocalTime().ToString("MMM d"); // also if you wanna only show the year from the old date since the current one is always now
- DateRangeText = days == lifetimeDays ? $"Lifetime history" : $"Past {days} days ({fromDate} to {toDate})";
+ DateRangeText = days == lifetimeDays ? t("time.lifetime_history") : t("time.past_n_days_with_range", days, fromDate, toDate);
// also suggestion to add a vr peak
if (orderedByDate.Count == 0)
@@ -430,9 +430,10 @@ private void ApplyHistoryData(RwfcPlayerVrHistoryResponse historyResponse, int d
if (UseMatchesAsXAxis)
{
- GraphStartLabel = "Match 1";
- GraphMidLabel = $"Match {(orderedByDate.Count / 2) + 1}";
- GraphEndLabel = $"Match {orderedByDate.Count}";
+ var match = t("attribute.match");
+ GraphStartLabel = $"{match} 1";
+ GraphMidLabel = $"{match} {(orderedByDate.Count / 2) + 1}";
+ GraphEndLabel = $"{match} {orderedByDate.Count}";
}
else
{
From d15bdf6f64abee92ed1c569f48457d194642d0a6 Mon Sep 17 00:00:00 2001
From: TheJanzap <16736682+TheJanzap@users.noreply.github.com>
Date: Mon, 31 Aug 2026 10:43:46 +0200
Subject: [PATCH 4/5] l10n: Fix German "lifetime_history" translation
---
WheelWizard/Resources/Languages/de.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/WheelWizard/Resources/Languages/de.yml b/WheelWizard/Resources/Languages/de.yml
index 5387b48c..009f43ee 100644
--- a/WheelWizard/Resources/Languages/de.yml
+++ b/WheelWizard/Resources/Languages/de.yml
@@ -232,7 +232,7 @@ de:
last_30_days: "Letzte 30 Tage"
last_60_days: "Letzte 60 Tage"
lifetime: "Insgesamt"
- lifetime_history: "Insgesamter Verlauf"
+ lifetime_history: "Gesamter Verlauf"
past_n_days_with_range: "Vergangene {$1} Tage ({$2} bis {$3})"
progress:
estimated_time_remaining: "Geschätzte verbleibende Zeit:"
From 14c961cc1a3742f3c870b2af57a297cd92602b85 Mon Sep 17 00:00:00 2001
From: TheJanzap <16736682+TheJanzap@users.noreply.github.com>
Date: Mon, 31 Aug 2026 10:48:45 +0200
Subject: [PATCH 5/5] fix: Naming of the "Matches" toggle
---
WheelWizard/Resources/Languages/de.yml | 4 ++--
WheelWizard/Resources/Languages/en.yml | 2 +-
WheelWizard/Views/Patterns/VrHistoryGraph.axaml | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/WheelWizard/Resources/Languages/de.yml b/WheelWizard/Resources/Languages/de.yml
index 009f43ee..8d621570 100644
--- a/WheelWizard/Resources/Languages/de.yml
+++ b/WheelWizard/Resources/Languages/de.yml
@@ -65,8 +65,8 @@ de:
status: "Status"
priority: "Priorität"
sort_by: "Sortieren nach"
- match: "Treffer"
- enable_matching: "Filtern"
+ match: "Match"
+ enable_matches: "Matches"
total_games_won: "Gesamte verlorene Rennen"
total_games_played: "Gesamte gewonnene Rennen"
vr_abbreviation: "RP"
diff --git a/WheelWizard/Resources/Languages/en.yml b/WheelWizard/Resources/Languages/en.yml
index e8557e4c..d6546f5c 100644
--- a/WheelWizard/Resources/Languages/en.yml
+++ b/WheelWizard/Resources/Languages/en.yml
@@ -69,7 +69,7 @@ en:
priority: "Priority"
sort_by: "Sort by"
match: "Match"
- enable_matching: "Matches"
+ enable_matches: "Matches"
total_games_won: "Total games won"
total_games_played: "Total games played"
vr_abbreviation: "VR"
diff --git a/WheelWizard/Views/Patterns/VrHistoryGraph.axaml b/WheelWizard/Views/Patterns/VrHistoryGraph.axaml
index 4b78b8de..c751722b 100644
--- a/WheelWizard/Views/Patterns/VrHistoryGraph.axaml
+++ b/WheelWizard/Views/Patterns/VrHistoryGraph.axaml
@@ -70,7 +70,7 @@