mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-09 03:30:48 +08:00
fix(ops): English replies from English prompts and ROLE_SYSTEM.en
Detect language from user message before UI hint, load ops ROLE_SYSTEM.en.md when en, and wire user_text through WS/HTTP/worker paths. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
f1626195f7
commit
0de5f7bc98
9 changed files with 151 additions and 19 deletions
|
|
@ -1,11 +1,23 @@
|
|||
import unittest
|
||||
from unittest import mock
|
||||
|
||||
from runtime.lang import resolve_runtime_lang
|
||||
from runtime.lang import detect_text_lang, resolve_runtime_lang
|
||||
|
||||
|
||||
class ResolveRuntimeLangTests(unittest.TestCase):
|
||||
def test_hint_wins(self) -> None:
|
||||
def test_user_text_english_overrides_ui_zh(self) -> None:
|
||||
store = mock.Mock()
|
||||
store.get_setting.return_value = "zh"
|
||||
self.assertEqual(
|
||||
resolve_runtime_lang(
|
||||
store=store,
|
||||
hint="zh",
|
||||
user_text="Please tally the current alarm information",
|
||||
),
|
||||
"en",
|
||||
)
|
||||
|
||||
def test_hint_when_text_ambiguous(self) -> None:
|
||||
store = mock.Mock()
|
||||
store.get_setting.return_value = "zh"
|
||||
self.assertEqual(resolve_runtime_lang(store=store, hint="en"), "en")
|
||||
|
|
@ -20,6 +32,12 @@ class ResolveRuntimeLangTests(unittest.TestCase):
|
|||
store.get_setting.return_value = "fr"
|
||||
self.assertEqual(resolve_runtime_lang(store=store), "zh")
|
||||
|
||||
def test_detect_english(self) -> None:
|
||||
self.assertEqual(detect_text_lang("Please tally alarms"), "en")
|
||||
|
||||
def test_detect_chinese(self) -> None:
|
||||
self.assertEqual(detect_text_lang("请统计当前告警信息"), "zh")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue