diff --git a/frontend/app/assets/css/fonts.scss b/frontend/app/assets/css/fonts.scss index 1f9ac52..e0c361f 100644 --- a/frontend/app/assets/css/fonts.scss +++ b/frontend/app/assets/css/fonts.scss @@ -1,6 +1,8 @@ +@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;700&family=Noto+Sans+SC:wght@400;700&display=swap'); + @font-face { font-family: 'Hurmit'; src: url('@/assets/fonts/Hermit/Hermit-Regular.woff2') format('woff2'); font-weight: normal; font-style: normal; -} \ No newline at end of file +} diff --git a/frontend/app/assets/css/main.scss b/frontend/app/assets/css/main.scss index bd5ae80..4705ea5 100644 --- a/frontend/app/assets/css/main.scss +++ b/frontend/app/assets/css/main.scss @@ -23,7 +23,7 @@ body { * { color: var(--color-text); - font-family: 'Hurmit'; + font-family: 'Hurmit', 'IBM Plex Mono', 'Noto Sans SC', monospace; cursor: default; } @@ -55,7 +55,7 @@ li::before { top: 0px; left: 0px; color: var(--color-border-color); - font-family: 'Hurmit', monospace; + font-family: 'Hurmit', 'IBM Plex Mono', 'Noto Sans SC', monospace; font-size: 0.9em; } @@ -83,7 +83,7 @@ blockquote::before { /* TUI-style code blocks */ pre, code { - font-family: 'Hurmit', monospace; + font-family: 'Hurmit', 'IBM Plex Mono', monospace; background-color: var(--color-background-line); border: 1px solid var(--color-border-color); } @@ -128,7 +128,7 @@ hr { background-color: var(--color-background); padding: 0 8px; color: var(--color-border-color); - font-family: 'Hurmit', monospace; + font-family: 'Hurmit', 'IBM Plex Mono', monospace; font-size: 0.7rem; letter-spacing: 2px; } diff --git a/frontend/i18n/locales/ca.json b/frontend/i18n/locales/ca.json index e275ffe..376ea91 100644 --- a/frontend/i18n/locales/ca.json +++ b/frontend/i18n/locales/ca.json @@ -2,7 +2,8 @@ "locales": { "en": "🇺🇸 Anglès", "es": "🇪🇸 Espanyol", - "ca": "🇦🇩 Català" + "ca": "🇦🇩 Català", + "zh": "🇨🇳 中文" }, "themes": { "light": "Clar", diff --git a/frontend/i18n/locales/en.json b/frontend/i18n/locales/en.json index cc6bc42..fd94b9b 100644 --- a/frontend/i18n/locales/en.json +++ b/frontend/i18n/locales/en.json @@ -2,7 +2,8 @@ "locales": { "en": "🇺🇸 English", "es": "🇪🇸 Spanish", - "ca": "🇦🇩 Catalan" + "ca": "🇦🇩 Catalan", + "zh": "🇨🇳 中文" }, "themes": { "light": "Light", diff --git a/frontend/i18n/locales/es.json b/frontend/i18n/locales/es.json index 2075093..d2e0531 100644 --- a/frontend/i18n/locales/es.json +++ b/frontend/i18n/locales/es.json @@ -2,7 +2,8 @@ "locales": { "en": "🇺🇸 Ingles", "es": "🇪🇸 Español", - "ca": "🇦🇩 Catalán" + "ca": "🇦🇩 Catalán", + "zh": "🇨🇳 中文" }, "themes": { "light": "Claro", diff --git a/frontend/i18n/locales/zh.json b/frontend/i18n/locales/zh.json new file mode 100644 index 0000000..cc447a0 --- /dev/null +++ b/frontend/i18n/locales/zh.json @@ -0,0 +1,49 @@ +{ + "locales": { + "en": "🇺🇸 English", + "es": "🇪🇸 西班牙语", + "ca": "🇦🇩 加泰罗尼亚语", + "zh": "🇨🇳 中文" + }, + "themes": { + "light": "浅色", + "dark": "深色", + "accents": { + "katlum": "Katlum" + } + }, + "site_options": { + "language_selector": { + "dropdown": "语言" + }, + "theme_selector": { + "dropdown": "主题", + "dragon": "龙" + } + }, + "header": { + "links": { + "blog": "博客", + "contact": "联系", + "art": "艺术" + } + }, + "pages": { + "intro_heading": "简介", + "contact_heading": "联系方式", + "projects_heading": "项目", + "blog_heading": "博客文章", + "art_heading": "艺术画廊", + "stats_heading": "统计与信息", + "stat_lines_of_code": "代码行数", + "stat_projects": "已完成项目", + "stat_coffee": "消耗杯数", + "stat_board_games": "拥有桌游数", + "stat_years_programming": "编程年数", + "stat_deployments": "生产部署次数", + "show_more": "显示更多...", + "show_less": "收起" + }, + "prefooter": "", + "footer": "(C) 2026 Aran Roig. All rights whatever." +} diff --git a/frontend/nuxt.config.ts b/frontend/nuxt.config.ts index c7f8ec6..26c5764 100644 --- a/frontend/nuxt.config.ts +++ b/frontend/nuxt.config.ts @@ -21,7 +21,8 @@ export default defineNuxtConfig({ locales: [ { code: 'en', iso: 'en-US', name: '🇺🇸 English', file: 'en.json' }, { code: 'es', iso: 'es-ES', name: '🇪🇸 Spanish', file: 'es.json' }, - { code: 'ca', iso: 'ca-ES', name: '🇦🇩 Catalan', file: 'ca.json' } + { code: 'ca', iso: 'ca-ES', name: '🇦🇩 Catalan', file: 'ca.json' }, + { code: 'zh', iso: 'zh-CN', name: '🇨🇳 中文', file: 'zh.json' } ], defaultLocale: 'en', vueI18n: './i18n.config.ts',