From 7eb0b4196ce15c8bfbb0514c54b51cf019c78d24 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Tue, 23 Jun 2026 13:15:33 +0800
Subject: [PATCH] Prepare 2.1.34 input settings QA build

---
 privatevoice.src/internal/language/detect.go |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/privatevoice.src/internal/language/detect.go b/privatevoice.src/internal/language/detect.go
index 3d53442..2d3c645 100644
--- a/privatevoice.src/internal/language/detect.go
+++ b/privatevoice.src/internal/language/detect.go
@@ -35,12 +35,15 @@
 	if idx := strings.Index(normalized, "."); idx >= 0 {
 		normalized = normalized[:idx]
 	}
-	switch {
-	case strings.HasPrefix(normalized, "zh"):
-		return model.DefaultLanguageID
-	case strings.HasPrefix(normalized, "en"):
-		return model.EnglishLanguageID
-	default:
-		return model.EnglishLanguageID
+
+	for _, profile := range model.ListLanguageProfiles() {
+		for _, matcher := range profile.SystemMatchers {
+			m := strings.ToLower(strings.ReplaceAll(strings.TrimSpace(matcher), "_", "-"))
+			if normalized == m || strings.HasPrefix(normalized, m+"-") {
+				return profile.ID
+			}
+		}
 	}
+
+	return model.EnglishLanguageID
 }

--
Gitblit v1.9.3