From 9697301279f07f4d8b19f50de1ec3d05446aeb02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96zg=C3=BCr=20Konstantin=20Kazan=C3=A7=C3=A7=C4=B1?= <4593260+ozgurkazancci@users.noreply.github.com> Date: Tue, 8 Sep 2026 11:22:22 +0300 Subject: [PATCH] Update Languages.plist: NGObjWeb: map "tr"/"tr-tr" to TurkishTurkey (SOGo ships no Turkish.lproj) ## Problem SOGo's Turkish translation is shipped only as `TurkishTurkey.lproj` (all 11 UI bundles in Alinto/sogo master; there is no `Turkish.lproj`). NGObjWeb's browser-language table `sope-appserver/NGObjWeb/Languages.plist` still maps the bare code to the old name: "tr" = "Turkish"; As a result a browser that sends `Accept-Language: tr-TR,tr` never reaches the Turkish translation: WOResourceManager looks for `Turkish.lproj`, logs sogod [pid]: [ERROR] [we-rm] did not find locale for language: Turkish and SOGo falls back to English (login page, and the whole UI for every user who has not saved a language preference yet), regardless of `SOGoLanguage = TurkishTurkey` in sogo.conf. ## Reproduction (SOGo 5.12.9 + SOPE 4.9, OpenBSD 7.9 packages) curl -sk -H 'Accept-Language: tr-TR,tr;q=0.9,en;q=0.5' https://mail.example.com/SOGo/ | grep -o ']*lang="[^"]*"' -> lang="en" (expected: Turkish) curl -sk -H 'Accept-Language: de-DE,de;q=0.9' ... -> lang="de" (German works: "de" = "German" and German.lproj exists) ls /usr/local/lib/GNUstep/SOGo/MainUI.SOGo/Resources/ | grep -i turk TurkishTurkey.lproj (no Turkish.lproj) ## Fix Point the mapping at the bundle that actually exists, exactly like the existing entries for Spanish (`"es" = "SpanishSpain"`; SOGo ships `SpanishSpain.lproj`, no `Spanish.lproj`), and add the regional key browsers send: "tr" = "TurkishTurkey"; "tr-tr" = "TurkishTurkey"; ## Verification With the one-line change applied to the installed plist and sogod restarted: Accept-Language: tr-TR,tr;q=0.9,en;q=0.5 -> Accept-Language: en-US,en;q=0.9 -> lang="en" (unchanged) Accept-Language: de-DE,de;q=0.9 -> lang="de" (unchanged) sogo.log: no further "did not find locale for language: Turkish" entries Verified on three OpenBSD 7.9 hosts (SOGo 5.12.9, sope-4.9 packages). Users who have explicitly saved another language in Preferences are not affected; only the browser-language detection changes. --- sope-appserver/NGObjWeb/Languages.plist | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sope-appserver/NGObjWeb/Languages.plist b/sope-appserver/NGObjWeb/Languages.plist index 464adfae2..01d1d6ebc 100644 --- a/sope-appserver/NGObjWeb/Languages.plist +++ b/sope-appserver/NGObjWeb/Languages.plist @@ -157,7 +157,8 @@ "tl" = "Tagalog"; "tn" = "Setswana"; "to" = "Tonga"; - "tr" = "Turkish"; + "tr" = "TurkishTurkey"; + "tr-tr" = "TurkishTurkey"; "ts" = "Tsonga"; "tt" = "Tatar"; "tw" = "Twi";