diff --git a/apps/codeimage/src/i18n/ notFound.ts b/apps/codeimage/src/i18n/ notFound.ts
index 8b2b3a78d..4c40f5d0f 100644
--- a/apps/codeimage/src/i18n/ notFound.ts
+++ b/apps/codeimage/src/i18n/ notFound.ts
@@ -27,4 +27,11 @@ export const notFound = {
goToHome: 'Go to home',
},
},
+ zh: {
+ notFound: {
+ title: '404',
+ description: '你访问的资源不存在',
+ goToHome: '返回首页',
+ },
+ },
};
diff --git a/apps/codeimage/src/i18n/bottombar.ts b/apps/codeimage/src/i18n/bottombar.ts
index 3c75047d0..1c3465273 100644
--- a/apps/codeimage/src/i18n/bottombar.ts
+++ b/apps/codeimage/src/i18n/bottombar.ts
@@ -27,4 +27,11 @@ export const bottomBar = {
editor: 'Editor',
},
},
+ zh: {
+ bottomBar: {
+ themes: '主题',
+ styles: '样式',
+ editor: '编辑器',
+ },
+ },
};
diff --git a/apps/codeimage/src/i18n/dashboard.ts b/apps/codeimage/src/i18n/dashboard.ts
index e422bbf90..9839d267d 100644
--- a/apps/codeimage/src/i18n/dashboard.ts
+++ b/apps/codeimage/src/i18n/dashboard.ts
@@ -158,4 +158,43 @@ export const dashboard = {
},
},
},
+ zh: {
+ dashboard: {
+ myProjects: '我的项目',
+ new: '新建',
+ created: '创建时间',
+ updated: '更新时间',
+ errorCreatingProject: '发生错误!',
+ projectCreateSuccess: '项目创建成功',
+ projectCloneSuccess: '项目 {{name}} 克隆成功',
+ projectDeleteSuccess: '项目 {{name}} 已删除',
+ projectDeleteError: '无法删除项目 {{name}}',
+ empty: {
+ title: '暂无项目',
+ description: '从零开始创建一个新项目,
并分享你的代码片段',
+ },
+ errorLoadingList: {
+ title: '出错了!',
+ description: '抱歉!你的请求出现了问题。',
+ },
+ noMatchingProjects: {
+ title: '没有结果',
+ description: '哎呀!没有与搜索匹配的项目。
',
+ },
+ deleteProject: {
+ dropdownLabel: '删除',
+ confirmTitle: '删除项目',
+ confirmMessage: '此操作不可逆。',
+ },
+ renameProject: {
+ dropdownLabel: '重命名',
+ confirmTitle: '重命名项目',
+ confirmMessage: '请输入项目的新名称。',
+ },
+ cloneProject: {
+ dropdownLabel: '克隆',
+ confirmTitle: '克隆项目',
+ },
+ },
+ },
};
diff --git a/apps/codeimage/src/i18n/index.ts b/apps/codeimage/src/i18n/index.ts
index 5b9cbcc98..e06db1c49 100644
--- a/apps/codeimage/src/i18n/index.ts
+++ b/apps/codeimage/src/i18n/index.ts
@@ -1,9 +1,9 @@
-import {notFound} from './ notFound';
-import {dashboard} from './dashboard';
-import {presets} from './presets';
+import { notFound } from './ notFound';
+import { dashboard } from './dashboard';
+import { presets } from './presets';
import sidebarLocale from './sidebar';
-import {uiLocale} from './ui';
-import {bottomBar} from './bottombar';
+import { uiLocale } from './ui';
+import { bottomBar } from './bottombar';
export const locale = {
it: {
@@ -34,6 +34,7 @@ export const locale = {
en: 'Inglese',
de: 'Tedesco',
es: 'Spagnolo',
+ zh: 'Cinese',
},
toolbar: {
export: 'Exporta',
@@ -119,6 +120,7 @@ export const locale = {
en: 'English',
de: 'German',
es: 'Spanish',
+ zh: 'Chinese',
},
readOnlyBanner: {
title:
@@ -209,6 +211,7 @@ export const locale = {
en: 'Englisch',
de: 'Deutsch',
es: 'Spanisch',
+ zh: 'Chinesisch',
},
toolbar: {
export: 'Export',
@@ -296,6 +299,7 @@ export const locale = {
en: 'Inglés',
de: 'Alemán',
es: 'Español',
+ zh: 'Chino',
},
toolbar: {
export: 'Exportar',
@@ -355,6 +359,93 @@ export const locale = {
...notFound.es,
...presets.es,
},
+ zh: {
+ canvas: {
+ copiedToClipboard: '代码片段已复制到剪贴板',
+ linkGeneratedToClipboard: '链接已复制到剪贴板',
+ formattedCode: '代码已格式化',
+ pastedCode: '代码已粘贴',
+ errorFormattedCode: '代码格式化失败',
+ },
+ common: {
+ close: '关闭',
+ confirm: '确认',
+ yes: '是',
+ no: '否',
+ show: '显示',
+ hide: '隐藏',
+ reload: '重新加载',
+ clone: '克隆',
+ new: '新建',
+ },
+ locales: {
+ it: '意大利语',
+ en: '英语',
+ de: '德语',
+ es: '西班牙语',
+ zh: '中文',
+ },
+ readOnlyBanner: {
+ title:
+ '当前为只读模式。克隆此代码片段以保存到你的工作区并进行编辑。',
+ },
+ toolbar: {
+ export: '导出',
+ openNewTab: '新标签打开',
+ loadingNewTab: '正在准备链接...',
+ share: '分享',
+ generateLink: '生成链接',
+ toggleTheme: '切换主题',
+ changeLanguage: '切换语言',
+ exportLoading: '正在导出...',
+ },
+ pwa: {
+ offline: '应用已准备好离线使用',
+ update: '发现新内容,点击重新加载以更新',
+ close: '关闭',
+ reload: '重新加载',
+ },
+ export: {
+ title: '导出图片',
+ shareMode: '分享你的代码',
+ shareHint: '此模式使用新的',
+ exportMode: '导出为图片',
+ fileName: '文件名',
+ fileNamePlaceholder: '请输入文件名...',
+ extensionType: '文件扩展名',
+ pixelRatio: '缩放',
+ genericSaveError: '保存时发生错误',
+ noOpacitySupportedWithThisExtension:
+ '该扩展不支持自定义透明度',
+ quality: '质量',
+ },
+ shortcut: {
+ esc: 'Esc',
+ buttonAction: '键盘快捷键',
+ focusCodeEditor: '聚焦代码编辑器',
+ unFocusCodeEditor: '取消聚焦代码编辑器',
+ toggleBackground: '切换背景',
+ toggleDarkMode: '切换深色模式',
+ toggleHeader: '切换标题栏',
+ toggleWatermark: '切换水印',
+ changePadding: '调整内边距',
+ pickRandomTheme: '随机选择主题',
+ export: '导出',
+ exportNewTab: '在新标签中导出',
+ copyLink: '复制链接',
+ copySnippet: '复制代码片段',
+ openShortcuts: '打开快捷键',
+ },
+ themeSwitcher: {
+ search: '搜索主题...',
+ },
+ ...uiLocale.zh,
+ ...bottomBar.zh,
+ ...sidebarLocale.zh,
+ ...dashboard.zh,
+ ...notFound.zh,
+ ...presets.zh,
+ },
};
export type AppLocaleEntries = typeof locale;
diff --git a/apps/codeimage/src/i18n/presets.ts b/apps/codeimage/src/i18n/presets.ts
index 5d7d49f4b..3cc8d45a9 100644
--- a/apps/codeimage/src/i18n/presets.ts
+++ b/apps/codeimage/src/i18n/presets.ts
@@ -1,4 +1,4 @@
-import {guestLimit, userLimit} from '@codeimage/store/presets/bridge';
+import { guestLimit, userLimit } from '@codeimage/store/presets/bridge';
export const presets = {
it: {
@@ -181,4 +181,50 @@ export const presets = {
},
},
},
+ zh: {
+ presets: {
+ userPresets: '你的预设',
+ updatePreset: {
+ label: '更新',
+ dialogTitle: '更新预设',
+ dialogMessage: '确认用当前编辑器状态更新所选预设',
+ old: '旧',
+ new: '新',
+ },
+ share: {
+ label: '分享',
+ confirm: '预设链接已复制',
+ },
+ renamePreset: {
+ label: '重命名',
+ confirmTitle: '重命名预设',
+ confirmMessage: '请输入预设的新名称。',
+ },
+ addPreset: {
+ label: '添加预设',
+ confirmTitle: '添加新预设',
+ confirmMessage: '请输入你的预设名称',
+ },
+ deletePreset: {
+ label: '删除',
+ confirmTitle: '删除预设',
+ confirmMessage: '此操作不可逆。',
+ },
+ sync: {
+ label: '保存到你的账号',
+ },
+ openPreset: {
+ label: '查看你的预设',
+ },
+ limit: {
+ user: {
+ label: `你已达到每位用户最多 ${userLimit} 个预设的限制`,
+ },
+ guest: {
+ label: `你已达到访客最多 ${guestLimit} 个预设的限制`,
+ actionLabel: `登录以提升限制`,
+ },
+ },
+ },
+ },
};
diff --git a/apps/codeimage/src/i18n/sidebar.ts b/apps/codeimage/src/i18n/sidebar.ts
index c0be4ec1c..cc76bb7bc 100644
--- a/apps/codeimage/src/i18n/sidebar.ts
+++ b/apps/codeimage/src/i18n/sidebar.ts
@@ -116,4 +116,33 @@ export default {
border: 'Border',
},
},
+ zh: {
+ frame: {
+ frame: '画框',
+ padding: '内边距',
+ visible: '可见',
+ opacity: '不透明度',
+ color: '颜色',
+ background: '背景',
+ terminal: '窗口',
+ header: '标题栏',
+ tabAccent: '标签高亮',
+ shadows: '阴影',
+ shadow: '阴影',
+ editor: '编辑器',
+ language: '语言',
+ lineNumbers: '行号',
+ lineNumberStart: '起始行',
+ font: '字体',
+ fontWeight: '字重',
+ reflection: '反射',
+ watermark: '水印',
+ backgroundType: '背景类型',
+ theme: '主题',
+ ligatures: '连字',
+ aspectRatio: '纵横比',
+ formatter: '格式化工具',
+ border: '边框',
+ },
+ },
} as const;
diff --git a/apps/codeimage/src/i18n/ui.ts b/apps/codeimage/src/i18n/ui.ts
index c48ccdb05..2570ffb1e 100644
--- a/apps/codeimage/src/i18n/ui.ts
+++ b/apps/codeimage/src/i18n/ui.ts
@@ -67,4 +67,21 @@ export const uiLocale = {
outlined: 'Contorno',
},
},
+ zh: {
+ colorPicker: {
+ color: '颜色',
+ gradient: '渐变',
+ background: '自定义',
+ },
+ shadows: {
+ lg: '大',
+ md: '中',
+ sm: '小',
+ none: '无',
+ bottom: '底部',
+ xl: '特大',
+ '3d': '3D 效果',
+ outlined: '描边',
+ },
+ },
};
diff --git a/packages/config/src/lib/base/locales.ts b/packages/config/src/lib/base/locales.ts
index 2d2ace6f7..d5955aa3d 100644
--- a/packages/config/src/lib/base/locales.ts
+++ b/packages/config/src/lib/base/locales.ts
@@ -1 +1 @@
-export const SUPPORTED_LOCALES = ['it', 'en', 'de', 'es'] as const;
+export const SUPPORTED_LOCALES = ['it', 'en', 'de', 'es', 'zh'] as const;