From 2ffbcaf9c1ef1397fc33541d2f5e77968be1058b Mon Sep 17 00:00:00 2001 From: Damon Lu <59256766+WhatDamon@users.noreply.github.com> Date: Wed, 18 Feb 2026 21:15:09 +0800 Subject: [PATCH 1/2] Fix biome warns --- src/events.js | 16 ++++++++-------- src/i18n.js | 10 +++++----- src/processor.js | 14 +++++++------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/events.js b/src/events.js index 2e86f1e..6fd5fe9 100644 --- a/src/events.js +++ b/src/events.js @@ -1,12 +1,12 @@ import { processText } from "./processor.js"; -import { state, getState, saveHistory, loadHistory, clearHistoryStorage, saveMode } from "./state.js"; -import { setLang, t, applyLanguage } from "./i18n.js"; +import { state, saveHistory, clearHistoryStorage, saveMode } from "./state.js"; +import { setLang, t } from "./i18n.js"; import { $, escapeHtml, showToast, showModal, hideModal } from "./dom.js"; export async function loadCharLib() { if (!state.charLib) { const basePath = window.BASE_PATH || './'; - state.charLib = await (await fetch(basePath + "data/character.json")).json(); + state.charLib = await (await fetch(`${basePath}data/character.json`)).json(); } return state.charLib; } @@ -31,7 +31,7 @@ export function initEvents() { } }); }; - modeRadios.forEach(radio => radio.addEventListener('change', updateMode)); + for (const radio of modeRadios) radio.addEventListener('change', updateMode); modeRadios.forEach(radio => { if (radio.value === state.currentMode) { radio.checked = true; @@ -78,12 +78,12 @@ export function initEvents() { customPrefix: $("custom-prefix")?.value || "", customSuffix: $("custom-suffix")?.value || "", customRepeat: $("custom-repeat")?.value || "", - customRepeatCount: parseInt($("custom-repeat-count")?.value) || 7, + customRepeatCount: parseInt($("custom-repeat-count")?.value, 10) || 7, dbvowel: $("dbvowel")?.selected, - dbvowelCount: parseInt($("dbvowel-count")?.value) || 1, + dbvowelCount: parseInt($("dbvowel-count")?.value, 10) || 1, numcir: $("numcir")?.selected, addHash: $("addHash")?.selected, - hashLength: parseInt($("hash-length")?.value) || 6, + hashLength: parseInt($("hash-length")?.value, 10) || 6, preserveEsc: $("preserveEsc")?.selected }; try { @@ -98,7 +98,7 @@ export function initEvents() { saveHistory(state.processingHistory); } } catch (e) { - $("output-text").value = "Error: " + e.message; + $("output-text").value = `Error: ${e.message}`; } }); diff --git a/src/i18n.js b/src/i18n.js index e2cd938..aab510b 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -25,7 +25,7 @@ function getLangInfo(langCode) { const nativeName = nativeDisplayNames.of(langCode) || nativeDisplayNames.of(baseCode) || baseCode; return { name, nativeName }; - } catch (e) { + } catch (_e) { return LANGUAGE_NAMES_FALLBACK[baseCode] || { name: langCode, nativeName: langCode }; } } @@ -46,8 +46,8 @@ function buildSupportedLanguages(i18nData) { export async function loadI18n() { const basePath = window.BASE_PATH || './'; const [i18nRes, metaRes] = await Promise.all([ - fetch(basePath + "data/i18n.json"), - fetch(basePath + "data/metadata.json") + fetch(`${basePath}data/i18n.json`), + fetch(`${basePath}data/metadata.json`) ]); state.i18nData = await i18nRes.json(); state.metadata = await metaRes.json(); @@ -78,14 +78,14 @@ export function setLang(lang) { export function t() { const fallbackLang = getLangFallback(state.currentLang); - return state.i18nData[fallbackLang] || state.i18nData["en"]; + return state.i18nData[fallbackLang] || state.i18nData.en; } export function applyLanguage() { const txt = t(); if (!txt) return; - const s = getState(); + const _s = getState(); const version = state.metadata.version || ""; const titleWithVersion = version ? `${txt.title} v${version}` : txt.title; document.title = txt.title; diff --git a/src/processor.js b/src/processor.js index 46b6b18..6219eeb 100644 --- a/src/processor.js +++ b/src/processor.js @@ -3,7 +3,7 @@ let charLib = null; async function loadCharLib() { if (!charLib) { const basePath = window.BASE_PATH || './'; - const response = await fetch(basePath + "data/character.json"); + const response = await fetch(`${basePath}data/character.json`); charLib = await response.json(); } } @@ -113,7 +113,7 @@ function addSuffix(result, oriLength, mode, options) { function suffixMS(result, oriLength) { let suf = ""; - let n = Math.floor(oriLength / 7); + const n = Math.floor(oriLength / 7); for (let i = 0; i < n; i++) { suf += "!"; @@ -126,10 +126,10 @@ function suffixMS(result, oriLength) { function suffixAndroid(result, oriLength) { let suf = ""; const n = Math.floor(oriLength / 7); - const numbers = charLib["enNumber"] || ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty"]; + const numbers = charLib.enNumber || ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty"]; for (let i = 0; i < n; i++) { - suf += numbers[i % numbers.length] + " "; + suf += `${numbers[i % numbers.length]} `; } return `[${result} ${suf}]`; @@ -160,15 +160,15 @@ function suffixCustom(result, oriLength, options) { const n = Math.floor(oriLength / repeatCount); for (let i = 0; i <= n; i++) { - suf += repeat + " "; + suf += `${repeat} `; } - return prefix + result + " " + suf + suffix; + return `${prefix + result} ${suf}${suffix}`; } function addHashID(result, length = 6) { let hash = ""; - const alphabet = charLib["alphabet"] || "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + const alphabet = charLib.alphabet || "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for (let i = 0; i < length; i++) { hash += alphabet[Math.floor(Math.random() * alphabet.length)]; } From cc57d1782b6c1c7114eeb873cc37683d96d0e561 Mon Sep 17 00:00:00 2001 From: Damon Lu <59256766+WhatDamon@users.noreply.github.com> Date: Wed, 18 Feb 2026 21:16:45 +0800 Subject: [PATCH 2/2] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c5e1233..9f7bb35 100644 --- a/README.md +++ b/README.md @@ -31,9 +31,9 @@ python3 -m http.server 8000 ### 进行本地化 -翻译文件位于 `data/i18n.json`, 您可以简单的编辑此 JSON 文件进行进行开发。 +翻译文件位于 `data/i18n.json`, 您可以简单的编辑此 JSON 文件进行翻译。 -编辑翻译后, 请运行 i18n 检查以确保翻译质量: +编辑完翻译后, 请运行 i18n 检查以确保翻译质量: ~~~bash python3 tests/check_i18n.py @@ -48,6 +48,8 @@ python3 tests/check_i18n.py ### 开发功能 +你可以使用任意你所喜爱的编辑器进行开发! + 开发完成后, 请执行以下检查确保代码质量: ~~~bash