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 @@ - + + +