From 974165944242c3d9704efd464ce0fae25f6e45f5 Mon Sep 17 00:00:00 2001 From: Virgil Date: Sat, 4 Apr 2026 00:38:33 +0000 Subject: [PATCH] fix(html): honour locale in wasm translator Co-Authored-By: Virgil --- default_translator_js.go | 10 +++++++++- default_translator_js_test.go | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 default_translator_js_test.go diff --git a/default_translator_js.go b/default_translator_js.go index 8bbb8d4..5c11f53 100644 --- a/default_translator_js.go +++ b/default_translator_js.go @@ -9,7 +9,15 @@ type defaultTranslator struct { } func (t *defaultTranslator) T(key string, args ...any) string { - _ = t.language + if key == "prompt.yes" { + switch t.language { + case "fr": + return "o" + case "en": + return "y" + } + } + if len(args) == 0 { return key } diff --git a/default_translator_js_test.go b/default_translator_js_test.go new file mode 100644 index 0000000..1eea0b3 --- /dev/null +++ b/default_translator_js_test.go @@ -0,0 +1,15 @@ +//go:build js + +// SPDX-Licence-Identifier: EUPL-1.2 + +package html + +import "testing" + +func TestDefaultTranslatorJS_AppliesLocale(t *testing.T) { + ctx := NewContext("fr-FR") + + if got := Text("prompt.yes").Render(ctx); got != "o" { + t.Fatalf("Text(prompt.yes) with js default translator = %q, want %q", got, "o") + } +}