Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion app/i18n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,46 +5,55 @@ import navbarEN from "../public/locales/en/navbar.json"
import navbarES from "../public/locales/es/navbar.json"
import navbarPT from "../public/locales/pt/navbar.json"
import navbarDE from "../public/locales/de/navbar.json"
import navbarZH from "../public/locales/zh/navbar.json"

import homeEN from "../public/locales/en/home.json"
import homeES from "../public/locales/es/home.json"
import homePT from "../public/locales/pt/home.json"
import homeDE from "../public/locales/de/home.json"
import homeZH from "../public/locales/zh/home.json"

import contributeEN from "../public/locales/en/contribute.json"
import contributeES from "../public/locales/es/contribute.json"
import contributePT from "../public/locales/pt/contribute.json"
import contributeDE from "../public/locales/de/contribute.json"
import contributeZH from "../public/locales/zh/contribute.json"

import modelsEN from "../public/locales/en/models.json"
import modelsES from "../public/locales/es/models.json"
import modelsPT from "../public/locales/pt/models.json"
import modelsDE from "../public/locales/de/models.json"
import modelsZH from "../public/locales/zh/models.json"

import downloadEN from "../public/locales/en/download.json"
import downloadES from "../public/locales/es/download.json"
import downloadPT from "../public/locales/pt/download.json"
import downloadDE from "../public/locales/de/download.json"
import downloadZH from "../public/locales/zh/download.json"

import pluginsEN from "../public/locales/en/plugins.json"
import pluginsES from "../public/locales/es/plugins.json"
import pluginsPT from "../public/locales/pt/plugins.json"
import pluginsDE from "../public/locales/de/plugins.json"
import pluginsZH from "../public/locales/zh/plugins.json"

import communityEN from "../public/locales/en/community.json"
import communityES from "../public/locales/es/community.json"
import communityPT from "../public/locales/pt/community.json"
import communityDE from "../public/locales/de/community.json"
import communityZH from "../public/locales/zh/community.json"

import aboutEN from "../public/locales/en/about.json"
import aboutES from "../public/locales/es/about.json"
import aboutPT from "../public/locales/pt/about.json"
import aboutDE from "../public/locales/de/about.json"
import aboutZH from "../public/locales/zh/about.json"

import footerEN from "../public/locales/en/footer.json"
import footerES from "../public/locales/es/footer.json"
import footerPT from "../public/locales/pt/footer.json"
import footerDE from "../public/locales/de/footer.json"
import footerZH from "../public/locales/zh/footer.json"

i18n
.use(initReactI18next)
Expand Down Expand Up @@ -95,8 +104,19 @@ i18n
about: aboutDE,
footer: footerDE,
},
zh: {
navbar: navbarZH,
home: homeZH,
contribute: contributeZH,
models: modelsZH,
download: downloadZH,
plugins: pluginsZH,
community: communityZH,
about: aboutZH,
footer: footerZH,
},
},
supportedLngs: ["es", "en", "pt", "de"],
supportedLngs: ["es", "en", "pt", "de", "zh"],
fallbackLng: "es",
interpolation: { escapeValue: false },
})
Expand Down
2 changes: 1 addition & 1 deletion app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export default function Page() {
// Restore saved language
try {
const saved = localStorage.getItem('dashai-lang')
if (saved && ['es', 'en', 'pt', 'de'].includes(saved)) i18n.changeLanguage(saved)
if (saved && ['es', 'en', 'pt', 'de', 'zh'].includes(saved)) i18n.changeLanguage(saved)
} catch {}

// Set initial route
Expand Down
3 changes: 2 additions & 1 deletion components/community/Navbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next'
import '@/app/i18n'
import { useStats } from '@/lib/useStats'

type Lang = 'es' | 'en' | 'pt' | 'de'
type Lang = 'es' | 'en' | 'pt' | 'de' | 'zh'
type Route = 'home' | 'models' | 'plugins' | 'contribute' | 'download' | 'community' | 'about'


Expand All @@ -24,6 +24,7 @@ const LANG_OPTIONS: { code: Lang; label: string }[] = [
{ code: 'en', label: 'English' },
{ code: 'pt', label: 'Português' },
{ code: 'de', label: 'Deutsch' },
{ code: 'zh', label: '中文' },
]

function fmtStars(n: number): string {
Expand Down
2 changes: 1 addition & 1 deletion i18next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ const { defineConfig } = require("i18next-cli")

/** @type {import('i18next-cli').I18nextToolkitConfig} */
module.exports = defineConfig({
locales: ["es", "en", "pt", "de"],
locales: ["es", "en", "pt", "de", "zh"],
extract: {
input: ["app/**/*.{ts,tsx}", "components/**/*.{ts,tsx}"],
output: "public/locales/{{language}}/{{namespace}}.json",
Expand Down
3 changes: 2 additions & 1 deletion public/locales/de/about.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,5 +67,6 @@
"abt.students.emilio-diaz.desc": "Bildgenerierung",
"abt.students.isaias-venegas.desc": "Converter-Modul",
"abt.students.sofia-chavez.desc": "No-Code-RAG-Systeme",
"abt.students.carla-hayler.desc": "Visuelles Pipeline-System"
"abt.students.carla-hayler.desc": "Visuelles Pipeline-System",
"abt.students.ivan-salas.desc": "Forecasting-Modul"
}
72 changes: 72 additions & 0 deletions public/locales/zh/about.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"abt.com.ey": "构建它的人",
"abt.com.h": "<span class=\"blue\">dashAI</span> 背后的社区。",
"abt.com.lead": "dashAI 是<strong>Universidad de Chile</strong>(主办机构及主要合作方)<strong>Facultad de Ciencias Físicas y Matemáticas (FCFM)</strong><strong>Departamento de Ciencias de la Computación (DCC)</strong>的学术项目。项目与 CENIA、Unholster 及其他合作伙伴共同开发,并获得 ANID 的部分资助。开发社区由学术维护者、本科生与研究生、外部测试人员,以及通过提交 issue、翻译或发布插件做出贡献的协作者组成。",
"abt.com.s1.l": "// 活跃维护者",
"abt.com.s1.v": "学术核心团队",
"abt.com.s2.l": "// GITHUB 贡献者",
"abt.com.s2.v": "自 2022 年起",
"abt.com.s3.l": "// 外部测试人员",
"abt.com.s3.v": "预发布测试轮次",
"abt.com.s4.l": "// 开放渠道",
"abt.com.s4.v": "Discord | GitHub | 邮箱",
"abt.g.h": "治理决策",
"abt.g.p": "技术决策通过 GitHub Issues 和 Discord 讨论。机构层面的路线图决策由维护者委员会决定。发布优先级根据外部测试人员的反馈确定(最近一轮与 Unholster 的合作确定了预发布冲刺的方向)。",
"abt.h": "关于 dashAI。",
"abt.hist.alum.count": "位学生",
"abt.hist.alum.h": "历史学生贡献者",
"abt.hist.alum.n": "// 占位 | 列出学生贡献者,包含 (1) 姓名,(2) 贡献时所属机构,(3) 年份,(4) 贡献领域。发布前需征得本人同意。与此同时,提交历史本身讲述着这段故事:<a href=\"https://github.com/DashAISoftware/dashAI/graphs/contributors\" target=\"_blank\" rel=\"noopener\" style=\"color:var(--brand-on);font-weight:500\">contributors graph</a>。",
"abt.hist.alum.p": "本科生与研究生论文作者、毕业设计学生、科研助理。许多现有的抽象设计最初都源于课程项目或毕业论文。",
"abt.hist.cta.b": "联系我们",
"abt.hist.cta.h": "你曾参与过 dashAI 吗?",
"abt.hist.cta.p": "如果你曾以学生贡献者、论文作者、志愿者或合作机构的身份参与过 dashAI,但没有出现在这个页面上,欢迎联系我们。我们希望为这个项目保留一份完整且可核实的记录。",
"abt.hist.ey": "曾经参与 dashAI 的人",
"abt.hist.h": "<span class=\"blue\">历史</span>贡献者。",
"abt.hist.inst.h": "在早期阶段参与合作的机构",
"abt.hist.inst.imfd.n": "Instituto Milenio Fundamentos de los Datos",
"abt.hist.inst.imfd.r": "科学合作 | ICN17_002 | 已不再是活跃合作方",
"abt.hist.inst.n": "// 占位 | 补充其他机构信息,包含 (1) 名称与角色,(2) 合作期间,(3) 具体贡献(资金、基础设施、人力资源)。发布前需与相关负责人确认。",
"abt.hist.inst.p": "在开发过程中某些特定阶段做出贡献、但如今不再积极参与治理的中心、项目或计划。",
"abt.hist.inst.usm.n": "Universidad Técnica Federico Santa María",
"abt.hist.inst.usm.r": "早期阶段的研究 &amp; 开发 | 已不再是活跃合作方",
"abt.hist.lead": "dashAI 已经建设了好几年。许多本科生和研究生曾参与这个项目并留下了自己的提交记录,还有论文作者贡献了具体的功能模块。本节旨在致敬这些累积下来的工作。",
"abt.inst.anid.n": "Agencia Nacional de Investigación y Desarrollo",
"abt.inst.anid.r": "资助 | Fondef IDeA",
"abt.inst.cenia.n": "Centro Nacional de Inteligencia Artificial",
"abt.inst.cenia.r": "战略合作",
"abt.inst.ey": "支撑它的人",
"abt.inst.h": "<span class=\"blue\">支持 dashAI</span>的机构。",
"abt.inst.lead": "四家智利公立机构在 2026 年共同维持着这个项目的运转。每张卡片都为官方 logo 预留了位置。如果贵机构希望提供 SVG 或 PNG 格式的 logo,我们可以直接为你集成。",
"abt.inst.uchile.n": "Universidad de Chile | DCC, FCFM",
"abt.inst.uchile.r": "主办机构 | 主要合作方",
"abt.inst.unh.n": "科技与数据公司",
"abt.inst.unh.r": "活跃合作方 | 测试与反馈",
"abt.lead": "这是一个智利学术项目,由四家活跃机构组成的网络共同开发和维护,并获得公共资金支持。它的可持续性来自公共资金以及日复一日构建它的社区。",
"abt.m.h": "使命",
"abt.m.p": "降低在科研、教学和应用工作中使用 Machine Learning 的技术门槛,同时保持专业团队所需要的可扩展性。dashAI 在一个可审计、开源的模块化架构之上,构建了一个可视化界面。",
"abt.v.h": "当前版本",
"abt.v.h2": "愿景",
"abt.v.p": "version &nbsp; <strong style=\"color:var(--brand-light)\">v{{version}}</strong><br> license &nbsp; open-source<br> python &nbsp; ≥ 3.10<br> stack &nbsp; &nbsp;FastAPI + React<br> docs &nbsp; &nbsp; &nbsp;docs.dash-ai.com (0.0.4)<br> paper &nbsp; &nbsp;筹备中",
"abt.v.p2": "打造一个具备三大核心特性的智利可视化 Machine Learning 平台:基于用户数据的本地运行、通过社区插件实现的可扩展性,以及各组件的学术可追溯性。该项目致力于成为科研团队、公共机构和业内专业人士共享的基础设施。",
"abt.students.ignacio-nunez.desc": "可扩展 ML 架构",
"abt.students.martin-paredes.desc": "Data Studio",
"abt.students.rodrigo-urrea.desc": "DashAI 后端",
"abt.students.diego-faundez.desc": "数据类型推断",
"abt.students.cesar-veliz.desc": "超参数优化",
"abt.students.lucas-carrasco.desc": "图像分类",
"abt.students.oziel-aguilera.desc": "模型与 Tasks",
"abt.students.daniel-roco.desc": "界面重设计",
"abt.students.felipe-cardenas.desc": "预测模块",
"abt.students.florencia-valladares.desc": "前端插件",
"abt.students.javiera-labrin.desc": "标准化 CV",
"abt.students.natalia-abarca.desc": "可解释性模块",
"abt.students.nicolas-olguin.desc": "数据探索",
"abt.students.vicente-olivares.desc": "类型系统",
"abt.students.camila-reyes.desc": "LLM 模型",
"abt.students.camilo-huerta.desc": "DataLoader 与推理",
"abt.students.emilio-diaz.desc": "图像生成",
"abt.students.isaias-venegas.desc": "Converters 模块",
"abt.students.sofia-chavez.desc": "无代码 RAG 系统",
"abt.students.carla-hayler.desc": "可视化 Pipeline 系统",
"abt.students.ivan-salas.desc": "Forecasting 模块"
}
13 changes: 13 additions & 0 deletions public/locales/zh/community.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"com.d.cta": "加入",
"com.d.h": "Discord 服务器。",
"com.d.p": "实时支持、版本发布公告,以及按模块划分的讨论帖(Datasets、Models、Generative、Plugins),方便你分享自己的实验成果。",
"com.e.cta": "写信",
"com.e.h": "合作。",
"com.e.p": "咨询、合作、机构集成,或者只是想分享你正在构建的项目。&lt; 48 小时内回复。",
"com.h": "dashAI 社区。",
"com.lead": "Discord 用于实时支持,邮件列表用于月度摘要,邮箱用于机构合作。",
"com.n.cta": "订阅",
"com.n.h": "月度摘要。",
"com.n.p": "每月一期,内容包括新功能、新增至目录的模型、社区插件以及相关学术论文。不含推广内容。"
}
Loading
Loading