From 805ba01c842a7b24c6cb9688ccac3cdb8831b37e Mon Sep 17 00:00:00 2001 From: Jevin Date: Fri, 15 May 2026 14:30:07 +0800 Subject: [PATCH] fix: default locale to English --- entrypoints/devtools-panel/lang.ts | 4 ++-- tests/unit/lang.test.ts | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 tests/unit/lang.test.ts diff --git a/entrypoints/devtools-panel/lang.ts b/entrypoints/devtools-panel/lang.ts index d813439..006f49c 100644 --- a/entrypoints/devtools-panel/lang.ts +++ b/entrypoints/devtools-panel/lang.ts @@ -44,8 +44,8 @@ const messages = { export const activeLocale = ref('en') -export function initializeLocale(value: string | null, fallback = browser.i18n.getUILanguage()) { - activeLocale.value = resolveLocale(value ?? fallback) +export function initializeLocale(value: string | null) { + activeLocale.value = resolveLocale(value) } export function setLocale(value: Locale) { diff --git a/tests/unit/lang.test.ts b/tests/unit/lang.test.ts new file mode 100644 index 0000000..2424188 --- /dev/null +++ b/tests/unit/lang.test.ts @@ -0,0 +1,19 @@ +import { describe, expect, it, vi } from 'vitest' +import { fakeBrowser } from 'wxt/testing' +import { activeLocale, initializeLocale } from '../../entrypoints/devtools-panel/lang' + +describe('language initialization', () => { + it('defaults to English when the user has not selected a language', () => { + vi.spyOn(fakeBrowser.i18n, 'getUILanguage').mockReturnValue('zh-CN') + + initializeLocale(null) + + expect(activeLocale.value).toBe('en') + }) + + it('uses the saved language when the user has selected one', () => { + initializeLocale('zh_CN') + + expect(activeLocale.value).toBe('zh_CN') + }) +})