package dialogue import ( "strings" "ai-operator/internal/dialogue/language" "ai-operator/internal/dialogue/state" ) func inferLanguageFromText(text string) state.Language { n := language.Normalize(text) if n == "" { return state.LanguageRU } kkSignals := []string{"қ", "ә", "ө", "ү", "ұ", "ң", "ғ", "і", "һ", "сәлем", "қалай", "көмек", "құны", "мекенжай", "байланыс", "облыс", "қала", "қазақша"} for _, sig := range kkSignals { if strings.Contains(n, sig) { return state.LanguageKK } } return state.LanguageRU } func isRegionRequiredQuery(query string) bool { n := language.Normalize(query) if n == "" { return false } phrases := []string{ "филиал", "адрес", "контакт", "контакты", "где находится", "куда обратиться", "город", "область", "регион", "мекенжай", "байланыс", "қайда жүгіну", "қайда орналасқан", "қала", "облыс", "аймақ", "өңір", } for _, p := range phrases { if strings.Contains(n, language.Normalize(p)) { return true } } return false }