This commit is contained in:
2026-01-15 14:58:45 +08:00
parent 76d69745b5
commit e28197aa41
4 changed files with 79 additions and 0 deletions

1
app.js
View File

@@ -81,6 +81,7 @@ export function initApp() {
if (language === "zh-Hant") return "zh-Hant" if (language === "zh-Hant") return "zh-Hant"
if (language === "zh-Hans") return "zh-Hans" if (language === "zh-Hans") return "zh-Hans"
if (language === "wenyan") return "zh-Hans" if (language === "wenyan") return "zh-Hans"
if (language === "mars") return "zh-Hans"
if (language === "ja") return "ja" if (language === "ja") return "ja"
if (language === "ko") return "ko" if (language === "ko") return "ko"
return "en" return "en"

36
data.js
View File

@@ -10,6 +10,7 @@ export const sites = [
url: import.meta.env.VITE_OJ, url: import.meta.env.VITE_OJ,
title: { title: {
"zh-Hans": "判题狗", "zh-Hans": "判题狗",
mars: "判↗題★犬",
wenyan: "判题犬", wenyan: "判题犬",
garbled: "è½◽", garbled: "è½◽",
bin: "011", bin: "011",
@@ -18,9 +19,11 @@ export const sites = [
ja: "判定犬", ja: "判定犬",
ko: "판정개", ko: "판정개",
meow: "喵喵喵", meow: "喵喵喵",
emoji: "⚖️",
}, },
description: { description: {
"zh-Hans": "在线判题网站", "zh-Hans": "在线判题网站",
mars: "線↗上氵☆判↘題钅★網",
wenyan: "判题之所", wenyan: "判题之所",
garbled: "烫锟ä¢烫糊", garbled: "烫锟ä¢烫糊",
bin: "010011", bin: "010011",
@@ -29,6 +32,7 @@ export const sites = [
ja: "オンライン判定サイト", ja: "オンライン判定サイト",
ko: "온라인 판정 사이트", ko: "온라인 판정 사이트",
meow: "喵喵喵喵喵喵", meow: "喵喵喵喵喵喵",
emoji: "🌐🧪✅",
}, },
icon: "noto--dog-face.svg", icon: "noto--dog-face.svg",
}, },
@@ -36,6 +40,7 @@ export const sites = [
url: import.meta.env.VITE_CODE, url: import.meta.env.VITE_CODE,
title: { title: {
"zh-Hans": "自测猫", "zh-Hans": "自测猫",
mars: "自↘測☆~貓",
wenyan: "自试猫", wenyan: "自试猫",
garbled: "ä¢å", garbled: "ä¢å",
bin: "001", bin: "001",
@@ -44,9 +49,11 @@ export const sites = [
ja: "自テスト猫", ja: "自テスト猫",
ko: "자가테스트猫", ko: "자가테스트猫",
meow: "喵喵喵", meow: "喵喵喵",
emoji: "🧪",
}, },
description: { description: {
"zh-Hans": "代码运行网站", "zh-Hans": "代码运行网站",
mars: "代↗碼☆運↘?行→★站",
wenyan: "行码之所", wenyan: "行码之所",
garbled: "¿屯屯糊¢◾", garbled: "¿屯屯糊¢◾",
bin: "100011", bin: "100011",
@@ -55,6 +62,7 @@ export const sites = [
ja: "コード実行サイト", ja: "コード実行サイト",
ko: "코드 실행 사이트", ko: "코드 실행 사이트",
meow: "喵喵喵喵喵喵", meow: "喵喵喵喵喵喵",
emoji: "💻▶️",
}, },
icon: "noto--cat-face.svg", icon: "noto--cat-face.svg",
}, },
@@ -62,6 +70,7 @@ export const sites = [
url: import.meta.env.VITE_WEB, url: import.meta.env.VITE_WEB,
title: { title: {
"zh-Hans": "哈基米", "zh-Hans": "哈基米",
mars: "哈↗基?★米",
wenyan: "哈基米", wenyan: "哈基米",
garbled: "¿▣▦", garbled: "¿▣▦",
bin: "010", bin: "010",
@@ -70,9 +79,11 @@ export const sites = [
ja: "ハキミ", ja: "ハキミ",
ko: "하키미", ko: "하키미",
meow: "喵喵喵", meow: "喵喵喵",
emoji: "🌐🧩",
}, },
description: { description: {
"zh-Hans": "Web 前端开发", "zh-Hans": "Web 前端开发",
mars: "網☆↗頁☆前↘端孒★開↗發",
wenyan: "网页前端之作", wenyan: "网页前端之作",
garbled: "ä▦▨斤¨è□¿", garbled: "ä▦▨斤¨è□¿",
bin: "01111110", bin: "01111110",
@@ -81,6 +92,7 @@ export const sites = [
ja: "Webフロントエンド開発", ja: "Webフロントエンド開発",
ko: "웹 프론트엔드 개발", ko: "웹 프론트엔드 개발",
meow: "喵喵喵喵喵喵喵喵", meow: "喵喵喵喵喵喵喵喵",
emoji: "🖥️🎨",
}, },
icon: "noto--honeybee.svg", icon: "noto--honeybee.svg",
}, },
@@ -88,6 +100,7 @@ export const sites = [
url: import.meta.env.VITE_SHUATI, url: import.meta.env.VITE_SHUATI,
title: { title: {
"zh-Hans": "刷题鸭", "zh-Hans": "刷题鸭",
mars: "刷勒↘題★鴨",
wenyan: "习题鸭", wenyan: "习题鸭",
garbled: "¿æä", garbled: "¿æä",
bin: "110", bin: "110",
@@ -96,9 +109,11 @@ export const sites = [
ja: "演習アヒル", ja: "演習アヒル",
ko: "문제풀이오리", ko: "문제풀이오리",
meow: "喵喵喵", meow: "喵喵喵",
emoji: "🦆📝",
}, },
description: { description: {
"zh-Hans": "梁老师的刷题网站", "zh-Hans": "梁老师的刷题网站",
mars: "梁師↗刷钅↘題←★網",
wenyan: "梁师习题之所", wenyan: "梁师习题之所",
garbled: "糊¿拷èç¿□¨", garbled: "糊¿拷èç¿□¨",
bin: "00011101", bin: "00011101",
@@ -107,6 +122,7 @@ export const sites = [
ja: "梁先生の演習サイト", ja: "梁先生の演習サイト",
ko: "량 선생님의 문제풀이 사이트", ko: "량 선생님의 문제풀이 사이트",
meow: "喵喵喵喵喵喵喵喵", meow: "喵喵喵喵喵喵喵喵",
emoji: "📚📝",
}, },
icon: "noto--paintbrush.svg", icon: "noto--paintbrush.svg",
}, },
@@ -114,6 +130,7 @@ export const sites = [
url: import.meta.env.VITE_BOOK, url: import.meta.env.VITE_BOOK,
title: { title: {
"zh-Hans": "编程书", "zh-Hans": "编程书",
mars: "編~↗程☆書☆",
wenyan: "程式书", wenyan: "程式书",
garbled: "¬拷拷", garbled: "¬拷拷",
bin: "000", bin: "000",
@@ -122,9 +139,11 @@ export const sites = [
ja: "プログラミング書", ja: "プログラミング書",
ko: "프로그래밍 책", ko: "프로그래밍 책",
meow: "喵喵喵", meow: "喵喵喵",
emoji: "📚💻",
}, },
description: { description: {
"zh-Hans": "编程和计算机相关知识汇总", "zh-Hans": "编程和计算机相关知识汇总",
mars: "編↗程→☆計↘算★機☆知↗識→↘彙→★總",
wenyan: "程式及计算机知识总览", wenyan: "程式及计算机知识总览",
garbled: "拷¨锟斤锟¬锟¬ä▧斤¨", garbled: "拷¨锟斤锟¬锟¬ä▧斤¨",
bin: "100101111000", bin: "100101111000",
@@ -133,6 +152,7 @@ export const sites = [
ja: "プログラミング/コンピュータ知識まとめ", ja: "プログラミング/コンピュータ知識まとめ",
ko: "프로그래밍/컴퓨터 지식 모음", ko: "프로그래밍/컴퓨터 지식 모음",
meow: "喵喵喵喵喵喵喵喵喵喵喵喵", meow: "喵喵喵喵喵喵喵喵喵喵喵喵",
emoji: "🧠📚",
}, },
icon: "noto--bookmark-tabs.svg", icon: "noto--bookmark-tabs.svg",
}, },
@@ -140,6 +160,7 @@ export const sites = [
url: import.meta.env.VITE_BLOCKLY, url: import.meta.env.VITE_BLOCKLY,
title: { title: {
"zh-Hans": "小方块", "zh-Hans": "小方块",
mars: "小↘方★塊",
wenyan: "小方块", wenyan: "小方块",
garbled: "¨糊”", garbled: "¨糊”",
bin: "110", bin: "110",
@@ -148,9 +169,11 @@ export const sites = [
ja: "小さなブロック", ja: "小さなブロック",
ko: "작은 블록", ko: "작은 블록",
meow: "喵喵喵", meow: "喵喵喵",
emoji: "🧱🧩",
}, },
description: { description: {
"zh-Hans": "搭积木,学编程", "zh-Hans": "搭积木,学编程",
mars: "搭↗積★木↘學訁☆?編↗★程",
wenyan: "以积木习程式", wenyan: "以积木习程式",
garbled: "◽¬拷ç¿斤锟", garbled: "◽¬拷ç¿斤锟",
bin: "1101101", bin: "1101101",
@@ -159,6 +182,7 @@ export const sites = [
ja: "ブロックでプログラミング", ja: "ブロックでプログラミング",
ko: "블록으로 프로그래밍 배우기", ko: "블록으로 프로그래밍 배우기",
meow: "喵喵喵喵喵喵喵", meow: "喵喵喵喵喵喵喵",
emoji: "🧱💻",
}, },
icon: "twemoji--brick.svg", icon: "twemoji--brick.svg",
}, },
@@ -166,6 +190,7 @@ export const sites = [
url: import.meta.env.VITE_HUABU, url: import.meta.env.VITE_HUABU,
title: { title: {
"zh-Hans": "白板", "zh-Hans": "白板",
mars: "白↗板☆",
wenyan: "白板", wenyan: "白板",
garbled: "¿拷", garbled: "¿拷",
bin: "01", bin: "01",
@@ -174,9 +199,11 @@ export const sites = [
ja: "ホワイトボード", ja: "ホワイトボード",
ko: "화이트보드", ko: "화이트보드",
meow: "喵喵", meow: "喵喵",
emoji: "🧑‍🏫📋",
}, },
description: { description: {
"zh-Hans": "在线板书", "zh-Hans": "在线板书",
mars: "線↗上☆☆板↘書",
wenyan: "线上板书", wenyan: "线上板书",
garbled: "¬¿■¿", garbled: "¬¿■¿",
bin: "0001", bin: "0001",
@@ -185,6 +212,7 @@ export const sites = [
ja: "オンライン板書", ja: "オンライン板書",
ko: "온라인 판서", ko: "온라인 판서",
meow: "喵喵喵喵", meow: "喵喵喵喵",
emoji: "📝🌐",
}, },
icon: "noto--artist-palette.svg", icon: "noto--artist-palette.svg",
}, },
@@ -192,6 +220,7 @@ export const sites = [
url: import.meta.env.VITE_PPT, url: import.meta.env.VITE_PPT,
title: { title: {
"zh-Hans": "Python PPT", "zh-Hans": "Python PPT",
mars: "P☆ytho→n↗PPT★",
wenyan: "蟒语课札", wenyan: "蟒语课札",
garbled: "锟¢¥烫拷□锟▧▢è", garbled: "锟¢¥烫拷□锟▧▢è",
bin: "1001011111", bin: "1001011111",
@@ -200,9 +229,11 @@ export const sites = [
ja: "Python PPT", ja: "Python PPT",
ko: "Python PPT", ko: "Python PPT",
meow: "喵喵喵喵喵喵", meow: "喵喵喵喵喵喵",
emoji: "🐍📽️",
}, },
description: { description: {
"zh-Hans": "Python 第一学期上课用", "zh-Hans": "Python 第一学期上课用",
mars: "Pyth★o★n↗←首學★期↘課☆用",
wenyan: "蟒语首学期课用", wenyan: "蟒语首学期课用",
garbled: "糊”èå▢噪□¬▦◽烫拷ä¬", garbled: "糊”èå▢噪□¬▦◽烫拷ä¬",
bin: "00000010111011", bin: "00000010111011",
@@ -211,6 +242,7 @@ export const sites = [
ja: "Python 1学期授業用", ja: "Python 1学期授業用",
ko: "Python 1학기 수업용", ko: "Python 1학기 수업용",
meow: "喵喵喵喵喵喵喵喵喵喵喵喵喵喵", meow: "喵喵喵喵喵喵喵喵喵喵喵喵喵喵",
emoji: "🐍🎓1⃣",
}, },
icon: "material-icon-theme--python.svg", icon: "material-icon-theme--python.svg",
}, },
@@ -218,6 +250,7 @@ export const sites = [
url: import.meta.env.VITE_PY, url: import.meta.env.VITE_PY,
title: { title: {
"zh-Hans": "Python 项目", "zh-Hans": "Python 项目",
mars: "P→ytho吖n↘項★目",
wenyan: "蟒语诸业", wenyan: "蟒语诸业",
garbled: "▧ç¬ä▧◾”斤糊", garbled: "▧ç¬ä▧◾”斤糊",
bin: "101110111", bin: "101110111",
@@ -226,9 +259,11 @@ export const sites = [
ja: "Python プロジェクト", ja: "Python プロジェクト",
ko: "Python 프로젝트", ko: "Python 프로젝트",
meow: "喵喵喵喵喵喵喵喵", meow: "喵喵喵喵喵喵喵喵",
emoji: "🐍🧰",
}, },
description: { description: {
"zh-Hans": "Python 第二学期上课用", "zh-Hans": "Python 第二学期上课用",
mars: "Python↘次→學孒★期↗課☆用",
wenyan: "蟒语次学期课用", wenyan: "蟒语次学期课用",
garbled: "屯▤½¨ååç锟■噪屯屯◼¿", garbled: "屯▤½¨ååç锟■噪屯屯◼¿",
bin: "11110110110010", bin: "11110110110010",
@@ -237,6 +272,7 @@ export const sites = [
ja: "Python 2学期授業用", ja: "Python 2学期授業用",
ko: "Python 2학기 수업용", ko: "Python 2학기 수업용",
meow: "喵喵喵喵喵喵喵", meow: "喵喵喵喵喵喵喵",
emoji: "🐍🎓2⃣",
}, },
icon: "material-icon-theme--folder-python-open.svg", icon: "material-icon-theme--folder-python-open.svg",
}, },

38
i18n.js
View File

@@ -71,6 +71,18 @@ export const I18N = {
beianIcp: "浙ICP备2023044109号", beianIcp: "浙ICP备2023044109号",
beianMps: "浙公安备33100402331786号", beianMps: "浙公安备33100402331786号",
}, },
mars: {
appTitle: "物↗聯☆網↘專★業☆線★↗上★~學↘塾",
pinnedSubtitle: "置↗頂★內→↘容氵",
designThemeLabel: "設↗計☆主↘題",
themeToggleLabel: "切↗換★主↘…題孒",
themeToggleTitle: "切↗換★晦钅↘明~",
moonAlt: "月",
sunAlt: "日",
languageLabel: "語↗言",
beianIcp: "浙↗ICP☆★備吖202訁3044109★號",
beianMps: "浙↘公★勒安備33氵100勒40孒2★331786號",
},
garbled: { garbled: {
appTitle: "糊斤▥烫斤拷▦噪¿ä¢ç”èä", appTitle: "糊斤▥烫斤拷▦噪¿ä¢ç”èä",
pinnedSubtitle: "¨¢糊◾¬¿", pinnedSubtitle: "¨¢糊◾¬¿",
@@ -107,6 +119,18 @@ export const I18N = {
beianIcp: "喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵", beianIcp: "喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵",
beianMps: "喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵", beianMps: "喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵",
}, },
emoji: {
appTitle: "📡🎓📚🌐🧠",
pinnedSubtitle: "📌",
designThemeLabel: "🎨",
themeToggleLabel: "🌓",
themeToggleTitle: "🌗/🌕",
moonAlt: "🌙",
sunAlt: "☀️",
languageLabel: "🌐",
beianIcp: "🧾 ICP 2023044109",
beianMps: "🛡️ MPS 33100402331786",
},
} }
export const DESIGN_THEME_LABELS = { export const DESIGN_THEME_LABELS = {
@@ -146,6 +170,12 @@ export const DESIGN_THEME_LABELS = {
terminal: "终端", terminal: "终端",
cyberpunk: "赛博", cyberpunk: "赛博",
}, },
mars: {
fluent: "流↗光",
"material-you": "材↘質",
terminal: "終↗★端",
cyberpunk: "賽↘!博",
},
garbled: { garbled: {
fluent: "◼è▦", fluent: "◼è▦",
"material-you": "拷▤屯ä锟◽", "material-you": "拷▤屯ä锟◽",
@@ -164,6 +194,12 @@ export const DESIGN_THEME_LABELS = {
terminal: "喵喵", terminal: "喵喵",
cyberpunk: "喵喵喵喵", cyberpunk: "喵喵喵喵",
}, },
emoji: {
fluent: "💧",
"material-you": "🧱",
terminal: "⌨️",
cyberpunk: "⚡",
},
} }
export const LANGUAGE_NAMES = { export const LANGUAGE_NAMES = {
@@ -173,9 +209,11 @@ export const LANGUAGE_NAMES = {
ja: "日本語", ja: "日本語",
ko: "한국어", ko: "한국어",
wenyan: "文言文", wenyan: "文言文",
mars: "非★主☆流",
garbled: "GBK乱码", garbled: "GBK乱码",
bin: "计算机语", bin: "计算机语",
meow: "喵喵喵", meow: "喵喵喵",
emoji: "😅😅😅",
} }
export const LANGUAGE_KEY = "language" export const LANGUAGE_KEY = "language"

View File

@@ -76,9 +76,13 @@
<li role="option" data-value="wenyan" aria-selected="false"> <li role="option" data-value="wenyan" aria-selected="false">
文言文 文言文
</li> </li>
<li role="option" data-value="mars" aria-selected="false">
非→主←流
</li>
<li role="option" data-value="garbled" aria-selected="false">GBK</li> <li role="option" data-value="garbled" aria-selected="false">GBK</li>
<li role="option" data-value="bin" aria-selected="false">计算机语</li> <li role="option" data-value="bin" aria-selected="false">计算机语</li>
<li role="option" data-value="meow" aria-selected="false">喵喵喵</li> <li role="option" data-value="meow" aria-selected="false">喵喵喵</li>
<li role="option" data-value="emoji" aria-selected="false">😅😅😅</li>
</ul> </ul>
</label> </label>
<button <button