feat: i18n 11 languages + website update + fix #139 #140 #141

i18n:
- Add 9 new locale files (ja/ko/de/es/fr/pt/ru/vi/zh-TW)
- Add multilingual README files for all 11 languages
- Add locale helper, index, and modular translation system
- Add translation generation scripts

Website (docs/index.html):
- Replace 公益AI接口 branding with 晴辰云AI接口
- Remove OpenClaw 独立安装包 promotion block
- Update SEO meta tags (description, keywords, OG, Twitter, JSON-LD)
- Add 11-language README links to footer
- Update 元宝派 link to new URL

Bug fixes:
- fix(cron): delivery format mode:'push' → mode:'announce', remove invalid 'to' field (fixes #141)
- fix(cron): allow single-channel users to select delivery channel
- fix(cron): preserve delivery field in job state for editing
- fix(models): add 'ollama' as recognized API type, prevent overwriting native ollama config (fixes #140)
- fix(models): skip /v1 append for ollama native API baseUrl
- fix(assistant): normalize 'google-generative-ai' consistently, add ollama hints
- fix(version): use CLI path classification for source detection on Windows (fixes #139)
- fix(version): default to 'official' instead of 'chinese' when source unknown
- fix(version): reorder npm global package check based on active CLI
This commit is contained in:
晴天
2026-03-24 22:31:11 +08:00
parent f8af3bea4a
commit 985d263dc6
261 changed files with 26760 additions and 175 deletions

View File

@@ -0,0 +1,42 @@
import { _ } from '../helper.js'
export default {
title: _('记忆文件', 'Memory Files', '記憶檔案', 'メモリ', '메모리', 'Bộ nhớ', 'Memoria', 'Memória', 'Память', 'Mémoire', 'Speicher'),
agentLabel: _('Agent:', 'Agent:'),
newFile: _('+ 新建', '+ New'),
deleteFile: _('删除', 'Delete', '刪除'),
exportZip: _('打包下载全部', 'Export All as ZIP', '打包下載全部'),
selectFile: _('选择文件查看', 'Select a file to view', '選擇檔案查看'),
download: _('下载', 'Download', '下載', 'ダウンロード', '다운로드', 'Tải xuống', 'Descargar', 'Baixar', 'Скачать', 'Télécharger', 'Herunterladen'),
preview: _('预览', 'Preview', '預覽'),
save: _('保存', 'Save', '儲存'),
edit: _('编辑', 'Edit', '編輯'),
editorPlaceholder: _('选择左侧文件进行编辑...', 'Select a file on the left to edit...', '選擇左側檔案進行編輯...'),
catMemory: _('工作记忆', 'Working Memory', '工作記憶'),
catMemoryDesc: _('当前活跃的工作上下文、决策记录和进度追踪', 'Active working context, decision records and progress tracking', '目前活躍的工作上下文、決策紀錄和進度追踪'),
catArchive: _('记忆归档', 'Memory Archive', '記憶歸檔'),
catArchiveDesc: _('已归档的历史记忆文件,按时间周期整理', 'Archived historical memory files, organized by time period', '已歸檔的歷史記憶檔案,按時間周期整理'),
catCore: _('核心文件', 'Core Files', '核心檔案'),
catCoreDesc: _('Agent 核心配置文件,如 AGENTS.md、CLAUDE.md 等', 'Agent core configuration files like AGENTS.md, CLAUDE.md, etc.', 'Agent 核心設定檔案,如 AGENTS.md、CLAUDE.md 等'),
newFileTitle: _('新建记忆文件', 'New Memory File', '新建記憶檔案'),
newFileLabel: _('文件名', 'Filename', '檔案名'),
newFilePlaceholder: _('如 notes.md', 'e.g. notes.md'),
newFileHint: _('建议使用 .md 格式,文件将保存到当前分类目录下', 'Recommended .md format. File will be saved to the current category directory', '建議使用 .md 格式,檔案將儲存到目前分類目錄下'),
created: _('已创建 {name}', 'Created {name}', '已建立 {name}'),
createFailed: _('创建失败', 'Failed to create', '建立失敗'),
confirmDelete: _('确定删除 {name}', 'Delete {name}?', '確定刪除 {name}', 'メモリファイル「{name}」を削除しますか?', '메모리 파일「{name}」을 삭제하시겠습니까?'),
deleted: _('已删除 {name}', 'Deleted {name}', '已刪除 {name}', '削除済み', '삭제됨', 'Đã xóa', 'Eliminado', 'Excluído', 'Удалено', 'Supprimé', 'Gelöscht'),
deleteFailed: _('删除失败', 'Failed to delete', '刪除失敗', '削除失敗', '삭제 실패', 'Xóa thất bại', 'Error al eliminar', 'Falha ao excluir', 'Ошибка удаления', 'Échec de la suppression', 'Löschen fehlgeschlagen'),
noFiles: _('暂无文件', 'No files', '暫無檔案', 'メモリファイルなし', '메모리 파일 없음', 'Không có tệp', 'Sin archivos', 'Sem arquivos', 'Нет файлов', 'Aucun fichier', 'Keine Dateien'),
loadFailed: _('加载失败', 'Load failed', '載入失敗', 'メモリファイルの読み込みに失敗', '메모리 파일 로드 실패', 'Tải thất bại', 'Error al cargar', 'Falha ao carregar', 'Ошибка загрузки', 'Échec du chargement', 'Laden fehlgeschlagen'),
loadListFailed: _('加载文件列表失败', 'Failed to load file list', '載入檔案列表失敗'),
loading: _('加载中...', 'Loading...', '載入中...'),
readFailed: _('读取失败', 'Read failed', '讀取失敗'),
readFileFailed: _('读取文件失败', 'Failed to read file', '讀取檔案失敗'),
fileSaved: _('文件已保存', 'File saved', '檔案已儲存'),
saveFailed: _('保存失败', 'Save failed', '儲存失敗'),
downloaded: _('已下载 {name}', 'Downloaded {name}', '已下載 {name}'),
downloadFailed: _('下载失败', 'Download failed', '下載失敗'),
exported: _('已导出: {label} → {path}', 'Exported: {label} → {path}'),
exportFailed: _('打包下载失败', 'Export failed', '打包下載失敗'),
}