import assert from 'node:assert/strict'; import { test } from 'node:test'; import { DEFAULT_LOCALE, createTranslator, normalizeLocale, supportedLocales } from '../src/frontend/i18n/index.js'; test('uses Chinese as the default locale and normalizes supported aliases', () => { assert.equal(DEFAULT_LOCALE, 'zh-CN'); assert.deepEqual(supportedLocales, ['zh-CN', 'en-US']); assert.equal(normalizeLocale(), 'zh-CN'); assert.equal(normalizeLocale('zh'), 'zh-CN'); assert.equal(normalizeLocale('en'), 'en-US'); assert.equal(normalizeLocale('fr-FR'), 'zh-CN'); }); test('translates known UI keys and falls back safely', () => { const zh = createTranslator('zh-CN'); const en = createTranslator('en-US'); assert.equal(zh('common.refresh'), '刷新'); assert.equal(en('common.refresh'), 'Refresh'); assert.equal(zh('auth.loginTitle'), '登录控制台'); assert.equal(en('auth.loginTitle'), 'Sign in to console'); assert.equal(en('missing.translation.key'), 'missing.translation.key'); });