feat: full i18n support - all pages use Lang.t() for zh/en

This commit is contained in:
2026-07-27 20:31:41 +08:00
parent 860bc015e8
commit de58a1c42f
10 changed files with 578 additions and 282 deletions
+11 -11
View File
@@ -27,7 +27,7 @@ const PageDebug = {
document.getElementById('debug-pause-btn')?.addEventListener('click', () => {
this._paused = !this._paused;
const btn = document.getElementById('debug-pause-btn');
btn.textContent = this._paused ? '▶ 继续' : '⏸ 暂停';
btn.textContent = this._paused ? Lang.t('resume') : Lang.t('pause');
});
document.getElementById('debug-autoscroll')?.addEventListener('change', (e) => {
@@ -73,7 +73,7 @@ const PageDebug = {
<div class="debug-field-name">${k}</div>
<div class="debug-field-value">${displayVal}</div>
</div>`;
}).join('') || '<div style="color:var(--text-tertiary);padding:20px;">等待数据...</div>';
}).join('') || `<div style="color:var(--text-tertiary);padding:20px;">${Lang.t('waitingData')}</div>`;
},
_renderRaw() {
@@ -86,7 +86,7 @@ const PageDebug = {
return `<span style="color:var(--text-tertiary)">[${ts}]</span> <span style="color:var(--accent)">→</span> ${preview}`;
});
el.innerHTML = lines.join('\n') || '等待数据...';
el.innerHTML = lines.join('\n') || Lang.t('waitingData');
if (this._autoScroll) {
el.scrollTop = el.scrollHeight;
@@ -101,24 +101,24 @@ const PageDebug = {
return `
<div class="debug-container">
<div class="debug-toolbar animated">
<h2 style="font-size:20px;font-weight:700;">数据测试</h2>
<h2 style="font-size:20px;font-weight:700;">${Lang.t('debugPage')}</h2>
<span style="flex:1;"></span>
<button id="debug-pause-btn" class="btn btn-sm btn-secondary">⏸ 暂停</button>
<button id="debug-clear-btn" class="btn btn-sm btn-secondary">清空</button>
<button id="debug-pause-btn" class="btn btn-sm btn-secondary">${Lang.t('pause')}</button>
<button id="debug-clear-btn" class="btn btn-sm btn-secondary">${Lang.t('clear')}</button>
<label style="display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);">
<input type="checkbox" id="debug-autoscroll" checked> 自动滚动
<input type="checkbox" id="debug-autoscroll" checked> ${Lang.t('autoScroll')}
</label>
<button id="debug-show-log" class="btn btn-sm btn-secondary">📄 日志</button>
<button id="debug-show-log" class="btn btn-sm btn-secondary">${Lang.t('viewLog')}</button>
</div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1;min-height:0;">
<div style="overflow-y:auto;">
<h4 style="font-size:14px;color:var(--text-secondary);margin-bottom:12px;">解析后的数据字段</h4>
<h4 style="font-size:14px;color:var(--text-secondary);margin-bottom:12px;">${Lang.t('parsedFields')}</h4>
<div id="debug-fields">
<div style="color:var(--text-tertiary);padding:20px;">等待数据...</div>
<div style="color:var(--text-tertiary);padding:20px;">${Lang.t('waitingData')}</div>
</div>
</div>
<div style="overflow-y:auto;">
<h4 style="font-size:14px;color:var(--text-secondary);margin-bottom:12px;">原始 JSON 数据流</h4>
<h4 style="font-size:14px;color:var(--text-secondary);margin-bottom:12px;">${Lang.t('rawJsonStream')}</h4>
<div id="debug-raw" class="debug-data"></div>
</div>
</div>