From 7e3be9ed4158c4cd5a0888f9095f368bb8a3101d Mon Sep 17 00:00:00 2001 From: thepra Date: Fri, 16 Oct 2026 00:21:41 +0200 Subject: [PATCH] "me-web?" 0.7.1: changing the language changes all of it - Choosing another language now changes every text on the screen at once. Before, the titles, the question about the test from outside and most labels stayed in the previous language until the app was restarted. - On narrow phones the name at the top shrinks to fit instead of slipping under the info button. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB --- CLAUDE.md | 4 ++++ Directory.Build.props | 2 +- src/MeWeb.App/Services/Localizer.cs | 2 +- src/MeWeb.App/Views/MainView.axaml | 4 +++- tools/Screenshots/Program.cs | 5 ++++- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index c9082d0..3063fe0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -167,6 +167,10 @@ The Android release key: alias `meweb`, certificate SHA-256 right-to-left languages the `Localizer` wraps the name in U+2066/U+2069 (left-to-right isolate), the English fallback included: without it Avalonia lays out ”me-web?“ alone on a line as `me-web?”“`, and inside a sentence the `?` jumps to the other end of the name. A left-to-right mark after the name was tried and does not fix the lone title. +- **Avalonia 12 refreshes an indexer binding only on `PropertyChanged("Item")`.** `{s:Tr Key}` binds `Localizer.Instance[Key]`; + the WPF name `"Item[]"` and `""` refresh nothing, so until 0.7.1 changing the language left every `{s:Tr}` text in + the old one while the view models' `*Formatted` strings followed. The screenshot tool draws each `start-` + shot by switching from English on a live view, which is the check that would have caught it. - **Values worth copying are read-only text boxes with a copy button inside** (`Views/CopyField`): addresses, the router, the network, the reverse name, the route, the STUN answers and a submission's code. The box is left-to-right in every language and copies the raw value, never the bidi marks `Texts.Isolate` adds to display diff --git a/Directory.Build.props b/Directory.Build.props index a3acb4a..e82006b 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - 0.7.0 + 0.7.1 “me-web?” Arasaka di Hvozdikov Yevheniy © 2026 Arasaka di Hvozdikov Yevheniy diff --git a/src/MeWeb.App/Services/Localizer.cs b/src/MeWeb.App/Services/Localizer.cs index a5eeb89..b1e3469 100644 --- a/src/MeWeb.App/Services/Localizer.cs +++ b/src/MeWeb.App/Services/Localizer.cs @@ -53,7 +53,7 @@ public sealed class Localizer : INotifyPropertyChanged Culture = CultureFor(Language.Code); CultureInfo.DefaultThreadCurrentCulture = CultureInfo.DefaultThreadCurrentUICulture = Culture; CultureInfo.CurrentCulture = CultureInfo.CurrentUICulture = Culture; - PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Item[]")); + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Item")); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(string.Empty)); } diff --git a/src/MeWeb.App/Views/MainView.axaml b/src/MeWeb.App/Views/MainView.axaml index f6109ac..8b9bec5 100644 --- a/src/MeWeb.App/Views/MainView.axaml +++ b/src/MeWeb.App/Views/MainView.axaml @@ -59,7 +59,9 @@ - + + +