fix: language selector mutual exclusion with preset buttons

- When "Other" is selected, preset language buttons are deselected
- Only one option can be selected at a time
- Refactor dictionary page with zustand store
- Add custom language input option to dictionary
- Fix multiple issues in dictionary bigmodel pipeline
This commit is contained in:
2026-03-08 15:58:20 +08:00
parent b643205f72
commit 6ba5ae993a
18 changed files with 642 additions and 435 deletions

View File

@@ -19,12 +19,12 @@ export async function executeDictionaryLookup(
if (!analysis.isValid) {
log.debug("[Stage 1] Invalid input", { reason: analysis.reason });
throw analysis.reason || "无效输入";
throw new LookUpError(analysis.reason || "无效输入");
}
if (analysis.isEmpty) {
log.debug("[Stage 1] Empty input");
throw "输入为空";
throw new LookUpError("输入为空");
}
log.debug("[Stage 1] Analysis complete", { analysis });
@@ -33,7 +33,7 @@ export async function executeDictionaryLookup(
const semanticMapping = await determineSemanticMapping(
text,
queryLang,
analysis.inputLanguage || text
analysis.inputLanguage ?? text
);
log.debug("[Stage 2] Semantic mapping complete", { semanticMapping });