feat(locale): 实现前端多语言覆盖与生效语言逻辑
- 新增 effectiveLanguage 字段,统一界面语言解析依据 - 支持前端语言覆盖(德语/西班牙语/法语)优先显示,回退设备语言 - setUiLanguage 方法实现前端或设备语言切换逻辑与持久化 - 当设备语言发生变化时自动清除前端语言覆盖,保证同步一致 - BottomNav 组件和 ConnectionPlaceholder 组件调整使用 effectiveLanguage 获取语言包 - 多语言数据更新,新增德语、西班牙语、法语、韩语支持及语言选项扩展
This commit is contained in:
@@ -110,16 +110,17 @@ export default function EQPage() {
|
||||
upgradePeqChange,
|
||||
upgradePeqApply,
|
||||
syncPeqCatalog,
|
||||
effectiveLanguage,
|
||||
} = useDevice();
|
||||
const bypassOn = (deviceState?.dsp_enable ?? 0) === 0;
|
||||
const peqOn = (deviceState?.peqEnable ?? 0) === 1;
|
||||
const eqOn = peqOn && !bypassOn;
|
||||
|
||||
const eqUi = useMemo((): PeqEqUi => {
|
||||
const pack = resolveLocalePack(deviceState?.language);
|
||||
const pack = resolveLocalePack(effectiveLanguage);
|
||||
const peq = pack.peq as typeof localeZh.peq;
|
||||
return (peq.eqUi ?? (localeEn.peq as typeof localeEn.peq).eqUi) as PeqEqUi;
|
||||
}, [deviceState?.language]);
|
||||
}, [effectiveLanguage]);
|
||||
|
||||
const firmwareVersion = useMemo(
|
||||
() => parseFirmwareVersion(deviceState?.version),
|
||||
@@ -128,9 +129,9 @@ export default function EQPage() {
|
||||
const peqReorderEnabled = supportsPeqPresetRenameAndSort(firmwareVersion);
|
||||
|
||||
const peqCardLabels = useMemo(() => {
|
||||
const pack = resolveLocalePack(deviceState?.language);
|
||||
const pack = resolveLocalePack(effectiveLanguage);
|
||||
return pack.peq ?? localeEn.peq;
|
||||
}, [deviceState?.language]);
|
||||
}, [effectiveLanguage]);
|
||||
|
||||
const eqPageTitle = usePageTitleWithConnection("HP-EQ");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user