From 0b82514d5129b48454ccf6fd2b405ec53d4bdbf2 Mon Sep 17 00:00:00 2001 From: Joel Date: Sun, 4 Jan 2026 19:00:42 +0800 Subject: [PATCH 1/9] Update translation prompts: improve natural language expression for CN and KO --- .github/workflows/auto-translate.yml | 68 ++++++++ translate.js | 239 +++++++++++++++++++++++++++ 2 files changed, 307 insertions(+) create mode 100644 .github/workflows/auto-translate.yml create mode 100644 translate.js diff --git a/.github/workflows/auto-translate.yml b/.github/workflows/auto-translate.yml new file mode 100644 index 0000000..f5c1351 --- /dev/null +++ b/.github/workflows/auto-translate.yml @@ -0,0 +1,68 @@ +name: Auto Translate (Push to New Branch) + +on: + push: + branches-ignore: + - main + +jobs: + translate: + if: "!contains(github.ref_name, 'auto-translate')" + runs-on: ubuntu-latest + + permissions: + contents: write + + steps: + # 1️⃣ 检出触发的源分支 + - name: Checkout source branch + uses: actions/checkout@v4 + with: + ref: ${{ github.ref_name }} + + # 2️⃣ Node 环境 + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 20 + + # 3️⃣ 安装依赖 + - name: Install deps + run: | + npm init -y + npm install openai fs-extra + + # 4️⃣ 执行翻译(生成 cn/ ko/ 文件) + - name: Run translation + env: + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + run: node translate.js + timeout-minutes: 60 + + # 5️⃣ 创建【带时间戳】的翻译分支并 push + - name: Push translated files + run: | + # 时间戳(UTC,保证稳定) + TS=$(date -u '+%Y%m%d-%H%M%S') + + SRC_BRANCH="${GITHUB_REF_NAME}" + TRANS_BRANCH="${SRC_BRANCH}-auto-translate-${TS}" + + git config user.name "github-actions" + git config user.email "github-actions@github.com" + + # 新建翻译分支(每次都是新的) + git checkout -b "$TRANS_BRANCH" + + # 确保目录存在(防止 glob 报错) + mkdir -p cn/changelog + mkdir -p ko/changelog + + # 只 add 翻译文件 + git add cn/** ko/** + + # 没变化就不提交 + git diff --cached --quiet || git commit -m "chore: auto translate (${TS})" + + # 推送新分支 + git push origin "$TRANS_BRANCH" \ No newline at end of file diff --git a/translate.js b/translate.js new file mode 100644 index 0000000..4347867 --- /dev/null +++ b/translate.js @@ -0,0 +1,239 @@ +import OpenAI from "openai"; +import fs from "fs-extra"; +import path from "path"; + +/** + * 配置区 + */ +const SRC_DIR = "en/changelog"; +const TARGET_LANGS = [ + { + code: "cn", + name: "Chinese", + systemPrompt: + "请将以下英文 changelog 按中文语境重写一下,要求:1. 只翻译纯文本部分,忽略任何 HTML 标签、代码块、表格、特殊格式(如代码行、列)等,看着像代码也保留不动。2. 保留原有 HTML 标签和结构,不要修改格式。3. 保证翻译内容准确。4.小标题的单词也要翻译(标题的日期不要翻译)。5.不要直译,要理解英文原文的语义,然后用符合中文语言习惯的自然方式重新表述。例如:'action' 不应直译为'行动',而应根据上下文用更自然的中文表达。确保翻译后的中文读起来自然流畅,符合中文表达习惯。", + }, + { + code: "ko", + name: "Korean", + systemPrompt: + "다음 영어 changelog 를 한국어 문맥에 맞게 재작성해 주세요. 다음 요구사항을 엄격히 준수하세요: 1. 텍스트 내용만 번역하고, HTML 태그, 코드 블록, 표, 특수 형식(예: 코드 행, 열 등) 등은 무시하고, 코드로 보이는 모든 내용은 그대로 유지하세요. 2. 원본 HTML 태그와 구조를 유지하고, 형식을 수정하지 마세요. 3. 번역 내용의 정확성을 보장하세요. 4. 소제목의 단어도 반드시 번역하세요(소제목의 날짜는 번역하지 마세요). 5. 직역하지 말고, 영어 원문의 의미를 이해한 후 한국어 언어 습관에 맞는 자연스러운 방식으로 재표현하세요. 예를 들어, 'action'을 단순히 '행동'으로 직역하지 말고, 문맥에 따라 더 자연스러운 한국어 표현을 사용하세요. 번역된 한국어가 자연스럽고 유창하게 읽히도록 한국어 표현 습관에 맞게 작성하세요.", + }, +]; + +// 初始化客户端 +const client = new OpenAI({ + apiKey: process.env.OPENAI_API_KEY, + timeout: 120000, + maxRetries: 0, +}); + +/** + * 重试策略 + */ +async function withRetry(fn, maxRetries = 5) { + let retries = 0; + while (retries < maxRetries) { + try { + return await fn(); + } catch (err) { + retries++; + if (retries >= maxRetries) { + throw new Error(`重试${maxRetries}次后仍失败:${err.message}`); + } + const delay = 1000 * Math.pow(2, retries); + console.log(`请求失败,${delay}ms 后重试(第 ${retries}/${maxRetries} 次):`, err.message); + await new Promise(resolve => setTimeout(resolve, delay)); + } + } +} + +/** + * 分块函数(仅处理待翻译部分) + */ +function splitTextByParagraphs(text, maxChars = 8000) { + const paragraphs = text.split("\n\n"); + const chunks = []; + let currentChunk = ""; + + for (const para of paragraphs) { + if (para.length > maxChars) { + const subPara = para.split("\n"); + let subCurrent = ""; + for (const sub of subPara) { + if (subCurrent.length + sub.length <= maxChars) { + subCurrent += sub + "\n"; + } else { + chunks.push(subCurrent.trim()); + subCurrent = sub + "\n"; + } + } + if (subCurrent.trim()) chunks.push(subCurrent.trim()); + continue; + } + + if (currentChunk.length + para.length <= maxChars) { + currentChunk += para + "\n\n"; + } else { + chunks.push(currentChunk.trim()); + currentChunk = para + "\n\n"; + } + } + if (currentChunk.trim()) { + chunks.push(currentChunk.trim()); + } + console.log(`✅ 待翻译部分拆分为 ${chunks.length} 块,单块最大${maxChars}字符`); + return chunks; +} + +/** + * 🔥 双标记截断逻辑(核心修改) + * 规则: + * 1. 前标记(markerBefore)及之前 → 不翻译,保留 + * 2. 前标记后 ~ 后标记前 → 翻译 + * 3. 后标记(markerAfter)及之后 → 不翻译,保留 + */ +function truncateWithTwoMarkers(text, markerBefore, markerAfter) { + // 1. 定位前标记(兼容跨多行) + const markerBeforeIndex = text.indexOf(markerBefore); + // 2. 定位后标记(从前往后找,且在前标记之后) + const markerAfterIndex = markerBeforeIndex === -1 + ? -1 + : text.indexOf(markerAfter, markerBeforeIndex + markerBefore.length); + + // 边界情况1:没找到前标记 → 只处理后标记(后标记及之后不翻译) + if (markerBeforeIndex === -1) { + if (markerAfterIndex === -1) { + console.log("⚠️ 未找到任何标记,将翻译全部内容"); + return { translatePart: text, keepBefore: "", keepAfter: "" }; + } + console.log("⚠️ 未找到前标记,仅保留后标记及之后不翻译"); + return { + translatePart: text.slice(0, markerAfterIndex).trim(), + keepBefore: "", + keepAfter: text.slice(markerAfterIndex) + }; + } + + // 边界情况2:找到前标记,但没找到后标记 → 仅前标记及之前不翻译,之后全翻译 + if (markerAfterIndex === -1) { + console.log("⚠️ 未找到后标记,仅保留前标记及之前不翻译"); + return { + translatePart: text.slice(markerBeforeIndex + markerBefore.length).trim(), + keepBefore: text.slice(0, markerBeforeIndex + markerBefore.length), + keepAfter: "" + }; + } + + // 正常情况:前后标记都找到 → 中间部分翻译 + console.log(`✅ 双标记定位成功: + - 前标记位置:${markerBeforeIndex} + - 后标记位置:${markerAfterIndex}`); + + return { + // 待翻译:前标记后 ~ 后标记前 + translatePart: text.slice(markerBeforeIndex + markerBefore.length, markerAfterIndex).trim(), + // 保留:前标记及之前 + keepBefore: text.slice(0, markerBeforeIndex + markerBefore.length), + // 保留:后标记及之后 + keepAfter: text.slice(markerAfterIndex) + }; +} + +/** + * 翻译函数(整合双标记+分块+翻译+拼接) + */ +async function translate(text, systemPrompt) { + console.log("\n📝 原始文本总长度:", text.length, "字符"); + + // 🔥 配置两个标记(原样复制,含换行/缩进/特殊字符) + // 前标记:}; return ; })()} + const markerBefore = `}; + return ; + })()} +`; + // 后标记:{/* Component definitions - moved to end of file for cleaner code organization */} + const markerAfter = `{/* Component definitions - moved to end of file for cleaner code organization */}`; + + // 执行双标记截断 + const { translatePart, keepBefore, keepAfter } = truncateWithTwoMarkers(text, markerBefore, markerAfter); + + // 无待翻译内容 → 直接返回保留的前后部分 + if (!translatePart) { + return keepBefore + keepAfter; + } + + // 分块翻译中间内容 + const chunks = splitTextByParagraphs(translatePart); + const translatedChunks = []; + + for (let i = 0; i < chunks.length; i++) { + console.log(`🔄 翻译第 ${i+1}/${chunks.length} 块(字符数:${chunks[i].length})`); + const res = await withRetry(async () => { + return await client.chat.completions.create({ + model: "gpt-4o-mini", + messages: [ + { role: "system", content: systemPrompt }, + { role: "user", content: `请翻译以下文本,严格遵循系统指令:\n${chunks[i]}` }, + ], + temperature: 0.0, + max_tokens: 4096, + stream: false, + }); + }); + + if (!res || !res.choices || res.choices.length === 0) { + throw new Error(`第${i+1}块翻译失败:API返回异常`); + } + translatedChunks.push(res.choices[0].message.content.trim()); + } + + // 拼接最终结果:前保留 + 翻译后的中间内容 + 后保留 + const translatedPart = translatedChunks.join("\n\n"); + const finalResult = keepBefore + (translatedPart ? "\n" + translatedPart : "") + keepAfter; + + return finalResult; +} + +/** + * 主流程 + */ +async function run() { + if (!(await fs.pathExists(SRC_DIR))) { + console.log("❌ 未找到 changelog 目录,跳过翻译"); + return; + } + + const files = await fs.readdir(SRC_DIR); + for (const file of files) { + if (!file.endsWith(".md") && !file.endsWith(".mdx")) continue; + + const srcPath = path.join(SRC_DIR, file); + const content = await fs.readFile(srcPath, "utf-8"); + + console.log(`\n========== 开始处理 ${srcPath} ==========`); + + for (const lang of TARGET_LANGS) { + const outDir = path.join(lang.code, "changelog"); + const outPath = path.join(outDir, file); + await fs.ensureDir(outDir); + + try { + const translated = await translate(content, lang.systemPrompt); + await fs.writeFile(outPath, translated, "utf-8"); + console.log(`✅ 成功:${file} → ${lang.code}/changelog/${file}`); + } catch (err) { + console.error(`❌ 失败:${file} → ${lang.code}`, err.stack); + continue; + } + } + } + + console.log("\n🎉 所有文件处理完成!"); +} + +// 执行主流程 +run().catch((err) => { + console.error("💥 全局执行失败:", err.stack); + process.exit(1); +}); \ No newline at end of file From eed99a996290ae91de1f6a4162ea824d3244ebbf Mon Sep 17 00:00:00 2001 From: github-actions Date: Sun, 4 Jan 2026 11:05:27 +0000 Subject: [PATCH 2/9] chore: auto translate (20260104-110527) --- cn/changelog/2025.mdx | 367 +++++++++--------- ko/changelog/2025.mdx | 839 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1021 insertions(+), 185 deletions(-) create mode 100644 ko/changelog/2025.mdx diff --git a/cn/changelog/2025.mdx b/cn/changelog/2025.mdx index d052d64..61379e5 100644 --- a/cn/changelog/2025.mdx +++ b/cn/changelog/2025.mdx @@ -1,6 +1,6 @@ --- -title: "变更日志" -description: "此日志记录了 2025 年 Codatta 所有更新、修复和新功能。" +title: "Changelog" +description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." ---
{num} - 条结果 + result{num !== 1 ? 's' : ''}
); }; return ; })()} -
## Dec 04, 2025 --- -**引入奖励锁仓机制,管理生态长期激励** +**激励机制演变:长期生态管理的奖励锁定**
-- **适用范围:** 我们为 Airdrop、Frontier 等高激励场景的任务引入了可选的「锁仓」奖励规则。 -- **核心流程:** - - **触发:** 在支持此规则的活动结束后,奖励将发放至平台资产余额。 - - **锁仓:** 在资产页将奖励转入智能合约锁定。 - - **释放:** 锁仓期满后,一键领取奖励至钱包。 -- **迭代意义:** 此机制是我们激励体系向"精细化管理"演进的关键一步。它针对高激励场景,通过引入流动性调节工具,旨在系统性地平衡短期激励效应与生态长期健康发展。 +为高激励任务(例如,在空投或前沿活动中)提供的可选奖励锁定功能。 + +- **触发:** 活动结束后,奖励将存入您的余额。 +- **锁定:** 通过资产页面将奖励锁定在智能合约中以确保安全。 +- **释放:** 锁定期结束后,您可以一键将奖励直接提取到您的钱包。 + +这是我们激励系统向细化管理演变的重要一步。它为高奖励场景中的流动性管理提供了工具,平衡了短期参与与生态系统的长期健康。
@@ -96,23 +96,21 @@ description: "此日志记录了 2025 年 Codatta 所有更新、修复和新功 ## Nov 24, 2025 --- -**Airdrop二期活动** +**活动启动:空投第二季**
-- **活动目标:** - - **数据目标:** 系统性收集学术级验证的物理、金融、多模态领域数据集。 - - **生态目标:** 通过定向激励,为三个新前线模块冷启动高质量数据流 -- **活动内容:** - - **Airdrop Season 2:** 代号"Physics Frontier Challenge",总奖池 1M $XNY (含3个月锁仓)。 - - **三个Frontier上线:** 同步上线高难度物理问题、加密资产与股票信息、真实世界图像三个数据收集frontier。 - - **Advanced Physics Questions frontier:** 专业物理专业人士提交AI无法正确回答的高难度物理问题 - - **Crypto & Stock Information frontier:** 给AI提供可靠的crypto和股票投资决策相关的信息 - - **Real-world Photo frontier:** 给AI提供标注元数据的真实拍摄图片 -- **奖励信息:** 形式:任务奖励(90%奖池)与排行榜激励(10%奖池)结合。 -- **活动时间:** 周期:2025/11/24 - 2025/12/08 (UTC)。 +系统性地收集物理学、金融和多模态领域的学术级数据集,并为三个新前沿建立高质量的数据管道。 + +- **行动:** 启动空投第二季,奖池为100万$XNY(3个月线性归属)。 +- **新前沿:** + - **高级物理问题:** 供领域专家提交当前AI无法正确回答的高难度物理问题。 + - **加密与股票信息:** 为AI提供与加密货币和股票投资决策相关的可靠信息。 + - **现实世界照片:** 为AI提供包含注释元数据的现实世界照片。 +- **奖励结构:** 任务完成奖励占90%,排行榜排名占10%。 +- **时间表:** 2025年11月24日09:00 UTC – 2025年12月8日09:00 UTC。 @@ -120,18 +118,19 @@ description: "此日志记录了 2025 年 Codatta 所有更新、修复和新功 ## Nov 05, 2025 --- -**账户体系升级:DID 正式上线** +**账户系统升级:去中心化身份(DID)正式上线**
-- **是什么:** 一项账户升级功能,允许用户在现有平台账户绑定标准 DID(去中心化身份标识)账户。 -- **如何运作:** - - **升级:** 用户可在账户设置中自行升级,将现有账户与链上DID绑定。 - - **关联:** 升级后,该DID将在Codatta平台内作为您的统一主键,自动关联并索引您的所有任务行为、数据贡献、奖励记录等全链路信息。 - - **追溯:** 基于DID,所有历史与未来的链上及链下行为均可被追溯和验证,形成完整的"数据血缘"。 -- **为何重要:** 这是构建可信、透明数据经济基础设施的关键一步。DID为每位用户在生态中的贡献提供了唯一、持久且可验证的"数字身份",是实现贡献精准计量、权属清晰界定和激励公平发放的技术基石。 +一项基础升级,使账户绑定到去中心化身份(DID)。 + +- **绑定:** 通过下次登录Codatta自助集成链上DID。 +- **关联:** 绑定的DID作为统一主键,系统性地索引所有任务操作、数据贡献和奖励分配。 +- **血统:** 实现链上和链下活动的完整可追溯性和验证,建立不可变的数据来源。 + +此部署为可验证的数据经济奠定了技术基础。通过为每位贡献者提供持久的、独特的数字身份,我们实现了细化的贡献归属、明确的所有权验证和协议层面的透明激励分配。 @@ -139,21 +138,16 @@ description: "此日志记录了 2025 年 Codatta 所有更新、修复和新功 ## Nov 03, 2025 --- -**任务系统调整:Crypto Frontier QUEST 模块下线** +**任务系统调整:加密前沿任务模块停用**
-- **下线范围:** - - 整个 Crypto Frontier QUEST 模块。 - - 所有相关任务——包括 Submission(提交)、Validation(验证)与 Bounty Hunting(赏金狩猎)——均已关闭。 -- **下线原因:** - - 该模块已在当前产品路线图中完成其预设的生命周期。 - - 此次下线有助于系统结构优化,并为后续功能更新释放资源、重新聚焦。 -- **相关说明:** - - 用户在该模块中的历史贡献记录与已获奖励保持完整,不受影响。 - - 本次调整不涉及其他任何 Frontier 模块的正常运行。 +整个加密前沿任务模块及所有相关任务——包括提交、验证和赏金猎人——已下线。 + +- **原因:** 该模块已完成当前产品路线图下的计划生命周期。停用有助于系统精简和资源重新配置,以支持即将发布的新功能。 +- **注意:** 用户在该模块的历史贡献记录和获得的奖励保持不变。此变更不影响其他前沿模块。 @@ -161,21 +155,16 @@ description: "此日志记录了 2025 年 Codatta 所有更新、修复和新功 ## Oct 24, 2025 --- -**Frontier 系统调整:Robotics Frontier 已下线** +**前沿系统调整:机器人前沿停用**
-- **调整内容:** - - Robotics Frontier 已正式下线。 - - 本次调整仅涉及前端入口,所有历史贡献数据均保持完整且可查询。 -- **调整原因:** - - 该决定是产品持续优化的一部分,旨在将资源与用户注意力集中至当前优先级最高的活跃 Frontier。 - - Robotics Frontier 已完成其预设的探索阶段,下线有助于我们整合资源、聚焦核心任务。 -- **相关说明:** - - 用户在 Robotics Frontier 中的历史贡献与所获奖励已被完整保留,可在其贡献历史记录中随时查看。 - - 此次调整不影响平台其他 Frontier 模块及任何系统功能的正常使用。 +机器人前沿已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 + +- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃前沿上。机器人前沿已完成其计划的探索阶段,停用使我们能够整合努力。 +- **注意:** 用户在机器人前沿的过去贡献和奖励被保留,并可在其贡献历史中查看。其他前沿或平台功能不受影响。 @@ -183,15 +172,16 @@ description: "此日志记录了 2025 年 Codatta 所有更新、修复和新功 ## Oct 23, 2025 --- -**反垃圾信息增强:每日提交次数限制已实施** +**反垃圾邮件增强:实施每日提交限制**
-- **策略内容:** 已实施一项新的平台级安全策略,以防止任务刷单行为。 -- **实施方式:** 针对每项任务,执行可配置的每日提交次数上限。 -- **实施目的:** 保护系统资源,确保所有贡献者公平参与,并维持任务生态系统的长期健康与公平 +一项新的平台安全政策,以防止任务垃圾邮件。 + +- **如何:** 对每个任务实施可配置的每日提交上限。 +- **原因:** 保护系统资源,确保所有贡献者的公平参与,并维护任务生态系统的长期健康和公平性。 @@ -199,21 +189,16 @@ description: "此日志记录了 2025 年 Codatta 所有更新、修复和新功 ## Oct 20, 2025 --- -**Frontier 系统调整:Crypto Frontier 已下线** +**前沿系统调整:加密前沿停用**
-- **调整内容:** - - Crypto Frontier 已正式下线。 - - 本次调整仅涉及前端入口关闭,所有历史贡献数据均保持完整且可正常访问。 -- **调整原因:** - - 此决策是我们持续优化产品结构的一部分,旨在将资源与用户关注聚焦于优先级最高的活跃 Frontier 模块。 - - Crypto Frontier 已完成其预设的探索阶段,下线有助于我们集中资源、推进核心目标。 -- **相关说明:** - - 用户在 Crypto Frontier 中的历史贡献与奖励记录已完整保留,可在个人贡献历史中查询。 - - 本次调整不影响其他任何 Frontier 模块及平台功能的正常运行。 +加密前沿已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 + +- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃前沿上。加密前沿已完成其计划的探索阶段,停用使我们能够整合努力。 +- **注意:** 用户在加密前沿的过去贡献和奖励被保留,并可在其贡献历史中查看。其他前沿或平台功能不受影响。 @@ -221,15 +206,16 @@ description: "此日志记录了 2025 年 Codatta 所有更新、修复和新功 ## Oct 15, 2025 --- -**系统治理:平台黑名单管控功能已上线** +**系统治理:平台黑名单控制实施**
-- **功能概述:** 平台已实施全新的黑名单管控功能。 -- **运作方式:** 指定管理员现可通过应用黑名单规则对恶意账户实施限制。 -- **实施目标:** 主动维护平台生态的完整性,保护诚信贡献者,并为所有参与者构建公平、可信的环境。旨在提升平台整体安全性,保障贡献者权益,并维护生态系统的公平性。 +平台上实施了一项新的黑名单控制功能。 + +- **如何:** 指定的管理员现在可以应用黑名单规则以限制恶意账户。 +- **原因:** 增强平台安全性,保护贡献者利益,维护生态系统公平性。 @@ -237,25 +223,23 @@ description: "此日志记录了 2025 年 Codatta 所有更新、修复和新功 ## Oct 13, 2025 --- -**Airdrop 第一期活动** +**活动启动:空投第一季**
-- **活动目标:** - - **数据目标:** 通过高额奖励机制与违规处罚策略,系统性地筛选并收集高质量、结构化的数据,保障数据的有效性与学术价值。 - - **生态目标:** 回馈长期支持的用户,通过五个新前线模块推动平台数据生态的多元发展与健康循环。 -- **主要动作:** - - 正式上线 Airdrop 第一期活动,提供 2.5M 高额 $XNY 与积分奖励,活动为期两周。 - - 同步推出五个全新的 Frontier 数据模块: - - **Model Comparison:** 支持横向比较不同AI模型的性能指标与业务回报,助力识别最优或融合模型方案。 - - **Spot LLM's Mistakes:** 聚焦识别大语言模型在推理、事实表述、等方面的错误,为模型优化提供数据支撑。 - - **Correct LLM's Mistakes:** 通过收集错误纠正数据,帮助大模型从错误中学习,提升其自我修正与推理能力。 - - **Food Science:** 围绕食品科学、营养功能等方向收集研究数据,助力食品科学领域创新。 - - **Lifelog Canvas:** 支持生活行为、健康状态等数据的跟踪与记录,为相关研究提供基础数据。 -- **奖励信息:** 奖励将依据数据提交后的评级得分进行排名,并于活动结束后统一发放。活动全程将监测并处罚恶意提交行为,以保障数据质量。 -- **活动时间:** 周期:2025/10/13 - 2025/10/27 (UTC)。 +通过高奖励机制和反垃圾邮件执行系统性地收集高质量、结构化的数据,确保有效性和学术价值,并奖励长期贡献者,丰富平台的数据生态系统,推出五个新前沿模块。 + +- **行动:** 启动空投第一季,奖池为250万$XNY及积分奖励。 +- **新前沿:** + - **模型比较:** 比较不同AI模型的性能指标和商业结果,以识别最佳或混合解决方案。 + - **识别LLM错误:** 识别LLM输出中的推理、事实和逻辑错误,以支持模型优化。 + - **纠正LLM错误:** 收集纠正数据,帮助LLM从错误中学习,提高自我纠正和推理能力。 + - **食品科学:** 收集食品科学和营养功能方面的研究数据,以推动该领域的创新。 + - **生活记录画布:** 跟踪和记录个人行为及健康相关数据,以支持行为及相关研究。 +- **奖励结构:** 奖励根据提交评级排名,并在活动结束后分配。恶意提交将受到惩罚,以确保数据质量。 +- **时间表:** 2025年10月13日09:00 UTC - 2025年10月27日09:00 UTC。 @@ -263,257 +247,270 @@ description: "此日志记录了 2025 年 Codatta 所有更新、修复和新功 ## Oct 10, 2025 --- -**功能上线:Frontier 专属激励活动(Activity)** +**功能发布:前沿特定奖励活动**
-- **是什么:** 平台现支持为各 Frontier 灵活配置专属奖励活动(Activity),为特定高难度模块提供叠加式高额奖励。 -- **如何运作:** - - 部分 Frontier 任务将额外提供高额 $XNY 或 USDT 活动奖励,该奖励独立于平台基础积分,叠加发放。 - - 活动奖励规则(如额度、周期、目标)由各Frontier独立设定,具体信息见对应Frontier Home页说明。 -- **为何重要:** 通过更精准、可配置的激励方式,持续吸引用户参与高价值数据任务,提升数据贡献深度与生态活跃度。 +现在为前沿提供可配置的奖励活动,提供额外的高价值激励。 + +```html +- **如何:** 选定的前沿任务提供额外的奖励,奖励以 $XNY 或 USDT 形式发放,与基础积分无关。活动参数(奖励金额、持续时间、目标)根据每个前沿任务设定,并在其各自的主页上显示。 +- **为什么:** 通过有针对性的激励措施,推动用户更深入地参与高价值数据任务,从而提高数据质量和生态系统的参与度。
-## Sep 26, 2025 +## 2025年9月26日 --- -**活动上线:Codatta Booster Campaign 第三季第4周** +**活动启动: Codatta 助推器活动 第三季 第四周**
-- **活动目标:** 通过收集多领域可信数据加速AI发展,并推动社区共建去中心化AI知识层。 -- **主要动作:** 正式上线第三季第4周活动,入口位于币安钱包Booster页及平台首页(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY(含锁仓机制),奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年9月26日 07:00(UTC)开始。 +通过可信的多领域数据收集,加速人工智能的发展,并促进社区驱动的去中心化人工智能知识构建。 + +- **访问:** 通过币安钱包助推器标签或主页横幅访问(需要 Alpha 积分 ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 +- **时间表:** 2025年9月26日 07:00 UTC – 2025年10月3日 07:00 UTC。
-## Sep 12, 2025 +## 2025年9月12日 --- -**活动上线:Codatta Booster Campaign 第三季第3周** +**活动启动: Codatta 助推器活动 第三季 第三周**
-- **活动目标:** 收集跨领域数据,涵盖生活、机器人、加密资产、模型对比和指纹验证等领域,用于AI训练和验证。 -- **主要动作:** 入口位于币安钱包Booster页或平台首页横幅(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY(含锁仓机制),奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年9月12日 07:00(UTC)– 2025年9月19日 07:00(UTC)。 +收集跨领域的数据,涵盖生活、机器人、加密货币、模型比较和指纹验证,以用于人工智能的训练和验证。 + +- **访问:** 通过币安钱包助推器标签或主页横幅访问(需要 Alpha 积分 ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 +- **时间表:** 2025年9月12日 07:00 UTC – 2025年9月19日 07:00 UTC。
-## Sep 05, 2025 +## 2025年9月5日 --- -**活动上线:Codatta Booster Campaign 第三季第2周** +**活动启动: Codatta 助推器活动 第三季 第二周**
-- **活动目标:** 收集并标注跨领域数据,涵盖生活、机器人和加密资产等领域,用于AI训练和验证。 -- **主要动作:** 入口位于币安钱包Booster页或平台首页横幅(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY(含锁仓机制),奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年9月5日 07:00(UTC)– 2025年9月12日 07:00(UTC)。 +收集和注释跨领域的数据,涵盖生活、机器人和加密货币,以用于人工智能的训练和验证。 + +- **访问:** 通过币安钱包助推器标签或主页横幅访问(需要 Alpha 积分 ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 +- **时间表:** 2025年9月5日 07:00 UTC – 2025年9月12日 07:00 UTC。
-## Aug 28, 2025 +## 2025年8月28日 --- -**功能上线:用户数据档案** +**功能发布: 用户数据档案**
-- **是什么:** 在用户信息模块中引入全新的数据档案功能。 -- **如何运作:** 通过用户信息 > 数据档案访问,在可视化仪表板中查看您的总提交数、已获奖励和贡献统计。 -- **为何重要:** 提供贡献透明度,通过可见的进度跟踪增强参与度,并支持长期参与。 +在用户信息模块中引入新的数据档案功能。 + +- **如何:** 通过用户信息 > 数据档案访问,查看您的总提交、获得的奖励和贡献统计信息,呈现在可视化仪表板中。 +- **为什么:** 提供对您贡献的透明度,通过可见的进度跟踪增强参与感,并支持长期参与。
-## Aug 22, 2025 +## 2025年8月22日 --- -**活动上线:Codatta Booster Campaign 第三季第1周** +**活动启动: Codatta 助推器活动 第三季 第一周**
-- **活动目标:** 建立跨领域标注数据基础,涵盖生活、机器人和加密资产等领域,用于去中心化AI训练。 -- **主要动作:** 入口位于币安钱包Booster页或平台首页横幅(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY(含锁仓机制),奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年8月22日 07:00(UTC)– 2025年8月29日 07:00(UTC)。 +为去中心化的人工智能训练建立跨领域注释数据的基础,涵盖生活、机器人和加密货币。 + +- **访问:** 通过币安钱包助推器标签或主页横幅访问(需要 Alpha 积分 ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 +- **时间表:** 2025年8月22日 07:00 UTC – 2025年8月29日 07:00 UTC。
-## Aug 15, 2025 +## 2025年8月15日 --- -**活动上线:Codatta Booster Campaign 第二季第4周** +**活动启动: Codatta 助推器活动 第二季 第四周**
-- **活动目标:** 系统性地标注和扩展特定领域数据集,涵盖食品AI、机器人交互和CEX链上数据,用于去中心化AI训练。 -- **主要动作:** 入口位于币安钱包Booster页或平台首页横幅(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY(含锁仓机制),奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年8月15日 07:00(UTC)– 2025年8月22日 07:00(UTC)。 +系统性地注释和扩展食品人工智能、机器人交互和 CEX 链上数据的领域特定数据集,以用于去中心化的人工智能训练。 + +- **访问:** 通过币安钱包助推器标签或主页横幅访问(需要 Alpha 积分 ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 +- **时间表:** 2025年8月15日 07:00 UTC – 2025年8月22日 07:00 UTC。
-## Aug 08, 2025 +## 2025年8月8日 --- -**活动上线:Codatta Booster Campaign 第二季第3周** +**活动启动: Codatta 助推器活动 第二季 第三周**
-- **活动目标:** 系统性地收集四个关键领域的标注数据:项目学习、食品AI判断、机器人标注和CEX数据扩展。 -- **主要动作:** 入口位于币安钱包Booster页或平台首页横幅(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY(含锁仓机制),奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年8月8日 07:00(UTC)– 2025年8月15日 07:00(UTC)。 +系统性地收集四个关键领域的注释数据:项目学习、食品人工智能判断、机器人注释和 CEX 数据扩展。 + +- **访问:** 通过币安钱包助推器标签或主页横幅访问(Alpha 积分 ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 +- **时间表:** 2025年8月8日 07:00 UTC – 2025年8月15日 07:00 UTC。
-## Aug 01, 2025 +## 2025年8月1日 --- -**活动上线:Codatta Booster Campaign 第二季第2周** +**活动启动: Codatta 助推器活动 第二季 第二周**
-- **活动目标:** 收集三个核心领域的标注数据:AI食品模型对比、机器人交互标注和CEX热钱包数据标注。 -- **主要动作:** 入口位于币安钱包Booster页或平台首页横幅(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY(含锁仓机制),奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年8月1日 07:00(UTC)– 2025年8月8日 07:00(UTC)。 +收集三个核心领域的注释数据:人工智能食品模型比较、机器人交互注释和 CEX 热钱包数据标注。 + +- **访问:** 通过币安钱包助推器标签或主页横幅访问(Alpha 积分 ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 +- **时间表:** 2025年8月1日 07:00 UTC – 2025年8月8日 07:00 UTC。
-## Jul 24, 2025 +## 2025年7月24日 --- -**活动上线:Codatta Booster Campaign 第二季第1周** +**活动启动: Codatta 助推器活动 第二季 第一周**
-- **活动目标:** 通过标注真实世界交互数据,验证AI食品分析并增强机器人训练。 -- **主要动作:** 入口位于币安钱包Booster页或平台首页横幅(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY(含锁仓机制),奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年7月24日 07:00(UTC)– 2025年7月31日 07:00(UTC)。 +通过注释的真实世界交互数据,验证人工智能食品分析并增强机器人训练。 + +- **访问:** 通过币安钱包助推器标签或主页横幅访问(Alpha 积分 ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 +- **时间表:** 2025年7月24日 07:00 UTC – 2025年7月31日 07:00 UTC。
-## Jul 16, 2025 +## 2025年7月16日 --- -**活动上线:Codatta Booster Campaign 第一季第4周** +**活动启动: Codatta 助推器活动 第一季 第四周**
-- **活动目标:** 通过收集丰富的标注数据深化AI对食品的理解,标注内容不仅包括标签,还包括重量、烹饪方法和卡路里含量。 -- **主要动作:** 入口位于币安钱包Booster页或平台首页横幅(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY,奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年7月16日 13:00(UTC)– 2025年7月23日 13:00(UTC)。 +通过收集丰富的注释,深化人工智能对食品的理解,超越标签,涵盖重量、烹饪方法和热量内容。 + +- **访问:** 通过币安钱包助推器标签或主页横幅访问(Alpha 积分 ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY,在任务完成和验证后分发。 +- **时间表:** 2025年7月16日 13:00 UTC – 2025年7月23日 13:00 UTC。
-## Jul 09, 2025 +## 2025年7月9日 --- -**活动上线:Codatta Booster Campaign 第一季第3周** +**活动启动: Codatta 助推器活动 第一季 第三周**
-- **活动目标:** 通过收集即食食品的标注图像,教授AI对人类饮食习惯的细致理解,关注文化背景和情境相关性,而不仅仅是简单标签。 -- **主要动作:** 入口位于币安钱包Booster页或平台首页横幅(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY,奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年7月9日 13:00(UTC)– 2025年7月16日 13:00(UTC)。 +通过收集即食食品的注释图像,教会人工智能对人类饮食习惯的细致理解,关注文化和情境的相关性,而不仅仅是简单的标签。 + +- **访问:** 通过币安钱包助推器标签或主页横幅访问(Alpha 积分 ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY,在任务完成和验证后分发。 +- **时间表:** 2025年7月9日 13:00 UTC – 2025年7月16日 13:00 UTC。
-## Jul 07, 2025 +## 2025年7月7日 --- -**功能优化:Quest 系统已恢复** +**功能优化: 任务系统恢复**
-- **是什么:** Quest 系统已完全恢复并重新开放。 -- **如何运作:** 系统于2025年6月30日暂时下线,现已全面恢复。 -- **为何重要:** 通过架构升级提升系统稳定性和用户体验。 +任务系统已全面恢复并重新开放。 + +- **如何:** 于2025年6月30日暂时下线,现在已全面恢复。 +- **为什么:** 通过架构升级,提高系统稳定性和用户体验。
+```
-## Jul 02, 2025 +## 2025年7月02日 --- -**活动上线:Codatta Booster Campaign 第一季第2周** +**活动启动:Codatta Booster 活动 第一季 第二周**
-- **活动目标:** 通过细致的图像标注扩展AI对全球食品文化和偏好的理解,涵盖素食、非素食和混合类别。 -- **主要动作:** 入口位于币安钱包Booster页或平台首页横幅(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY,奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年7月2日 13:00(UTC)– 2025年7月9日 13:00(UTC)。 +通过对素食、非素食和混合类别的细致图像标注,扩展人工智能对全球饮食文化和偏好的理解。 + +- **访问方式:** 可通过 Binance 钱包的 Booster 标签或主页横幅访问(Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY,任务完成并验证后发放。 +- **时间安排:** 2025年7月2日 13:00 UTC – 2025年7月9日 13:00 UTC。
-## Jun 25, 2025 +## 2025年6月25日 --- -**活动上线:Codatta Booster Campaign 第一季第1周** +**活动启动:Codatta Booster 活动 第一季 第一周**
-- **活动目标:** 通过收集标注食品数据、社区知识问答和分层激励结构,启动首届活动。 -- **主要动作:** 入口位于币安钱包Booster页或平台首页横幅(需Alpha Points ≥ 61)。 -- **活动规则:** 总奖池50,000,000 $XNY,奖励于任务完成并通过审核后发放。 -- **活动时间:** 2025年6月25日 13:00(UTC)– 2025年7月2日 13:00(UTC)。 +通过收集标注的食品数据、通过测验激发社区知识,并通过多层次的激励结构奖励参与者,启动首季活动。 -
+- **访问方式:** 可通过 Binance 钱包的 Booster 标签或主页横幅访问(Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY,任务完成并验证后发放。 +- **时间安排:** 2025年6月25日 13:00 UTC – 2025年7月2日 13:00 UTC。 -{/* Component definitions - moved to end of file for cleaner code organization */} +{/* Component definitions - moved to end of file for cleaner code organization */} export const ChangelogFilter = () => { const [activeFilter, setActiveFilter] = useState('all'); const [isOpen, setIsOpen] = useState(false); @@ -539,11 +536,11 @@ export const ChangelogFilter = () => { }, [activeFilter]); const filterTypes = [ - { id: 'all', label: '全部', color: '#6b7280', count: 24 }, - { id: 'core-feature', label: '核心功能发布', color: '#16A34A', count: 4 }, - { id: 'optimization', label: '调整与优化', color: '#F59E0B', count: 3 }, - { id: 'fixes', label: '修复与功能下线', color: '#EF4444', count: 3 }, - { id: 'campaign', label: '活动上线', color: '#A855F7', count: 14 } + { id: 'all', label: 'All', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, + { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, + { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } ]; const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; @@ -715,14 +712,14 @@ export const MonthFilter = () => { }, [activeMonth]); const months = [ - { id: 'all', label: '全部月份', count: 24 }, - { id: 'dec', label: '十二月', count: 1 }, - { id: 'nov', label: '十一月', count: 3 }, - { id: 'oct', label: '十月', count: 6 }, - { id: 'sep', label: '九月', count: 3 }, - { id: 'aug', label: '八月', count: 5 }, - { id: 'jul', label: '七月', count: 5 }, - { id: 'jun', label: '六月', count: 1 } + { id: 'all', label: 'All Months', count: 24 }, + { id: 'dec', label: 'December', count: 1 }, + { id: 'nov', label: 'November', count: 3 }, + { id: 'oct', label: 'October', count: 6 }, + { id: 'sep', label: 'September', count: 3 }, + { id: 'aug', label: 'August', count: 5 }, + { id: 'jul', label: 'July', count: 5 }, + { id: 'jun', label: 'June', count: 1 } ]; const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; diff --git a/ko/changelog/2025.mdx b/ko/changelog/2025.mdx new file mode 100644 index 0000000..946ec91 --- /dev/null +++ b/ko/changelog/2025.mdx @@ -0,0 +1,839 @@ +--- +title: "Changelog" +description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." +--- + +
+
+ + +
+ + {(() => { + const ShowResult = () => { + const [num, setNum] = useState(0); + useEffect(() => { + if (typeof document === 'undefined') return; + const update = () => { + try { + const items = document.querySelectorAll('.changelog-item'); + let count = 0; + items.forEach(item => { + if (item.style.display !== 'none') count++; + }); + setNum(count); + } catch {} + }; + update(); + const id = setInterval(update, 2000); + return () => clearInterval(id); + }, []); + return ( +
+ + {num} + result{num !== 1 ? 's' : ''} +
+ ); + }; + return ; + })()} +
+
+ +## 2025년 12월 04일 +--- +**진화하는 인센티브: 장기 생태계 관리를 위한 보상 잠금 기능** + +
+ +
+ +고인센티브 작업(예: 에어드롭 또는 프론티어 캠페인)에서의 보상을 위한 선택적 잠금 기능입니다. + +- **트리거:** 캠페인 후 보상이 귀하의 잔액에 입금됩니다. +- **잠금:** 자산 페이지를 통해 스마트 계약에 보상을 잠금으로써 안전하게 보호합니다. +- **해제:** 잠금 기간이 끝난 후 한 번의 클릭으로 보상을 지갑으로 직접 청구할 수 있습니다. + +이는 우리의 인센티브 시스템을 세분화된 관리로 발전시키는 중요한 단계입니다. 이는 고보상 시나리오에서 유동성을 관리할 수 있는 도구를 제공하여 단기 참여와 생태계의 장기 건강을 균형 있게 유지합니다. + +
+ +
+ +## 2025년 11월 24일 +--- +**캠페인 시작: 에어드롭 시즌 2** + +
+ +
+ +물리학, 금융 및 다중 모드 분야에서 학술 수준의 데이터셋을 체계적으로 수집하고, 세 가지 새로운 프론티어를 위한 고품질 데이터 파이프라인을 구축합니다. + +- **행동:** 100만 $XNY 상금 풀로 에어드롭 시즌 2를 시작했습니다(3개월 선형 분배). +- **새로운 프론티어:** + - **고급 물리학 문제:** 현재 AI가 정확하게 답할 수 없는 고난이도 물리학 문제를 제출할 수 있는 도메인 전문가를 위한 것입니다. + - **암호화폐 및 주식 정보:** AI에게 암호화폐 및 주식 투자 결정과 관련된 신뢰할 수 있는 정보를 제공합니다. + - **실제 사진:** 주석이 달린 메타데이터를 포함한 실제 사진을 AI에 제공합니다. +- **보상 구조:** 작업 완료에 대해 90%, 리더보드 순위에 대해 10%. +- **일정:** 2025년 11월 24일 09:00 UTC – 2025년 12월 8일 09:00 UTC. + +
+ +
+ +## 2025년 11월 05일 +--- +**계정 시스템 업그레이드: DID 공식 출시** + +
+ +
+ +탈중앙화 식별자(DID)에 계정을 연결할 수 있는 기본 업그레이드입니다. + +- **연결:** Codatta에 다음 로그인 시 온체인 DID의 셀프 서비스 통합. +- **연관:** 연결된 DID는 모든 작업 행동, 데이터 기여 및 보상 분배를 체계적으로 인덱싱하는 통합 기본 키 역할을 합니다. +- **계보:** 온체인 및 오프체인 활동의 완전한 추적 가능성과 검증을 가능하게 하여 불변의 데이터 출처를 확립합니다. + +이 배포는 검증 가능한 데이터 경제를 위한 기술적 초석을 마련합니다. 각 기여자에게 지속적이고 고유한 디지털 정체성을 제공함으로써 세분화된 기여 귀속, 명확한 소유권 검증 및 프로토콜 수준에서의 투명한 인센티브 할당을 가능하게 합니다. + +
+ +
+ +## 2025년 11월 03일 +--- +**퀘스트 시스템 조정: 암호화폐 프론티어 QUEST 모듈 사용 중지** + +
+ +
+ +암호화폐 프론티어 QUEST 모듈과 모든 관련 작업(제출, 검증 및 보상 사냥 포함)이 오프라인 상태로 전환되었습니다. + +- **이유:** 이 모듈은 현재 제품 로드맵에 따라 계획된 생애 주기를 완료했습니다. 사용 중지는 시스템 간소화 및 향후 기능 출시를 위한 자원 재조정을 지원합니다. +- **참고:** 사용자의 과거 기여 기록과 이 모듈에서 얻은 보상은 그대로 유지됩니다. 이 변경 사항은 다른 프론티어 모듈에는 영향을 미치지 않습니다. + +
+ +
+ +## 2025년 10월 24일 +--- +**프론티어 시스템 조정: 로보틱스 프론티어 사용 중지** + +
+ +
+ +로보틱스 프론티어가 공식적으로 사용 중지되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 과거 기여 데이터는 그대로 유지되며 접근 가능합니다. + +- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 프론티어에 집중하기 위한 지속적인 제품 간소화의 일환입니다. 로보틱스 프론티어는 계획된 탐색 단계를 완료하였으며, 사용 중지는 우리의 노력을 통합할 수 있게 합니다. +- **참고:** 사용자의 과거 기여 및 로보틱스 프론티어에서의 보상은 보존되며 기여 기록에서 검토할 수 있습니다. 다른 프론티어나 플랫폼 기능에는 영향을 미치지 않습니다. + +
+ +
+ +## 2025년 10월 23일 +--- +**스팸 방지 강화: 일일 제출 한도 구현** + +
+ +
+ +작업 스팸을 방지하기 위한 새로운 플랫폼 전반의 보안 정책입니다. + +- **방법:** 각 작업에 대해 구성 가능한 일일 제출 한도를 시행합니다. +- **이유:** 시스템 자원을 보호하고 모든 기여자에게 공정한 참여를 보장하며 작업 생태계의 장기적인 건강과 공정성을 유지하기 위해서입니다. + +
+ +
+ +## 2025년 10월 20일 +--- +**프론티어 시스템 조정: 암호화폐 프론티어 사용 중지** + +
+ +
+ +암호화폐 프론티어가 공식적으로 사용 중지되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 과거 기여 데이터는 그대로 유지되며 접근 가능합니다. + +- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 프론티어에 집중하기 위한 지속적인 제품 간소화의 일환입니다. 암호화폐 프론티어는 계획된 탐색 단계를 완료하였으며, 사용 중지는 우리의 노력을 통합할 수 있게 합니다. +- **참고:** 사용자의 과거 기여 및 암호화폐 프론티어에서의 보상은 보존되며 기여 기록에서 검토할 수 있습니다. 다른 프론티어나 플랫폼 기능에는 영향을 미치지 않습니다. + +
+ +
+ +## 2025년 10월 15일 +--- +**시스템 거버넌스: 플랫폼 블랙리스트 제어 구현** + +
+ +
+ +플랫폼에 새로운 블랙리스트 제어 기능이 구현되었습니다. + +- **방법:** 지정된 관리자가 이제 악의적인 계정을 제한하기 위해 블랙리스트 규칙을 적용할 수 있습니다. +- **이유:** 플랫폼 보안을 강화하고 기여자의 이익을 보호하며 생태계의 공정성을 유지하기 위해서입니다. + +
+ +
+ +## 2025년 10월 13일 +--- +**캠페인 시작: 에어드롭 시즌 1** + +
+ +
+ +고보상 메커니즘과 스팸 방지 강화를 통해 고품질의 구조화된 데이터를 체계적으로 수집하고, 유효성과 학술 가치를 보장하며, 장기 기여자에게 보상하고 플랫폼의 데이터 생태계를 다각화하기 위해 다섯 개의 새로운 프론티어 모듈을 도입합니다. + +- **행동:** 250만 $XNY 상금 풀과 포인트 보상으로 에어드롭 시즌 1을 시작했습니다. +- **새로운 프론티어:** + - **모델 비교:** 다양한 AI 모델 간의 성능 지표와 비즈니스 결과를 비교하여 최적의 솔루션이나 하이브리드 솔루션을 식별합니다. + - **LLM의 실수 발견:** LLM 출력에서의 추론, 사실 및 논리적 오류를 식별하여 모델 최적화를 지원합니다. + - **LLM의 실수 수정:** LLM이 실수에서 학습하고 자기 수정 및 추론을 개선할 수 있도록 교정 데이터를 수집합니다. + - **식품 과학:** 식품 과학 및 영양 기능에 대한 연구 데이터를 수집하여 이 분야의 혁신을 촉진합니다. + - **라이프로그 캔버스:** 개인 행동 및 건강 관련 데이터를 추적하고 기록하여 행동 및 관련 연구를 지원합니다. +- **보상 구조:** 제출 평가에 따라 보상이 순위가 매겨지고 캠페인 후 분배됩니다. 악의적인 제출은 데이터 품질을 보장하기 위해 처벌됩니다. +- **일정:** 2025년 10월 13일 09:00 UTC - 2025년 10월 27일 09:00 UTC. + +
+ +
+ +## 2025년 10월 10일 +--- +**기능 출시: 프론티어별 보상 활동** + +
+ +
+ +프론티어를 위한 구성 가능한 보상 활동이 제공되어 추가적인 고부가가치 인센티브를 제공합니다. + +
+ +## Sep 26, 2025 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 3 4주차** + +
+ +
+ +신뢰할 수 있는 다중 도메인 데이터 수집을 통해 AI 개발을 가속화하고, 커뮤니티 주도의 분산형 AI 지식 구축을 촉진합니다. + +- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 9월 26일 07:00 UTC – 2025년 10월 3일 07:00 UTC. + +
+ +
+ +## Sep 12, 2025 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 3 3주차** + +
+ +
+ +AI 훈련 및 검증을 위해 생명, 로봇 공학, 암호화폐, 모델 비교 및 지문 검증에 걸친 교차 도메인 데이터를 수집합니다. + +- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 9월 12일 07:00 UTC – 2025년 9월 19일 07:00 UTC. + +
+ +
+ +## Sep 05, 2025 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 3 2주차** + +
+ +
+ +AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 교차 도메인 데이터를 수집하고 주석을 달기 위해 진행됩니다. + +- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 9월 5일 07:00 UTC – 2025년 9월 12일 07:00 UTC. + +
+ +
+ +## Aug 28, 2025 +--- +**기능 출시: 사용자 데이터 프로필** + +
+ +
+ +사용자 정보 모듈 내에 새로운 데이터 프로필 기능을 도입합니다. + +- **접근 방법:** 사용자 정보 > 데이터 프로필을 통해 총 제출 수, 획득한 보상 및 기여 통계를 시각적 대시보드에서 확인할 수 있습니다. +- **목적:** 기여에 대한 투명성을 제공하고, 가시적인 진행 상황 추적을 통해 참여를 강화하며, 장기적인 참여를 지원합니다. + +
+ +
+ +## Aug 22, 2025 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 3 1주차** + +
+ +
+ +분산형 AI 훈련을 위해 생명, 로봇 공학 및 암호화폐에 걸친 교차 도메인 주석 데이터의 기초를 마련합니다. + +- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 8월 22일 07:00 UTC – 2025년 8월 29일 07:00 UTC. + +
+ +
+ +## Aug 15, 2025 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 2 4주차** + +
+ +
+ +분산형 AI 훈련을 위해 음식 AI, 로봇 상호작용 및 CEX 온체인 데이터에 대한 도메인별 데이터 세트를 체계적으로 주석 달고 확장합니다. + +- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 8월 15일 07:00 UTC – 2025년 8월 22일 07:00 UTC. + +
+ +
+ +## Aug 08, 2025 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 2 3주차** + +
+ +
+ +프로젝트 학습, 음식 AI 판단, 로봇 주석 및 CEX 데이터 확장을 포함한 네 가지 주요 영역에서 주석이 달린 데이터를 체계적으로 수집합니다. + +- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 8월 8일 07:00 UTC – 2025년 8월 15일 07:00 UTC. + +
+ +
+ +## Aug 01, 2025 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 2 2주차** + +
+ +
+ +AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 라벨링을 포함한 세 가지 핵심 도메인에서 주석이 달린 데이터를 수집합니다. + +- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 8월 1일 07:00 UTC – 2025년 8월 8일 07:00 UTC. + +
+ +
+ +## July 24, 2025 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 2 1주차** + +
+ +
+ +주석이 달린 실제 상호작용 데이터를 통해 AI 음식 분석을 검증하고 로봇 훈련을 향상시킵니다. + +- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 7월 24일 07:00 UTC – 2025년 7월 31일 07:00 UTC. + +
+ +
+ +## July 16, 2025 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 1 4주차** + +
+ +
+ +무게, 조리 방법 및 칼로리 함량을 포함한 풍부한 주석을 수집하여 AI의 음식 이해를 심화합니다. + +- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY, 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 7월 16일 13:00 UTC – 2025년 7월 23일 13:00 UTC. + +
+ +
+ +## July 09, 2025 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 1 3주차** + +
+ +
+ +문화적 및 맥락적 관련성을 넘어 단순한 라벨을 넘어서는 주석이 달린 즉석 식품 이미지를 수집하여 AI에게 인간의 식습관에 대한 미묘한 이해를 가르칩니다. + +- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY, 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 7월 9일 13:00 UTC – 2025년 7월 16일 13:00 UTC. + +
+ +
+ +## July 07, 2025 +--- +**기능 최적화: 퀘스트 시스템 복원** + +
+ +
+ +퀘스트 시스템이 완전히 복원되어 재개되었습니다. + +- **접근 방법:** 2025년 6월 30일에 일시적으로 오프라인 상태였으며, 현재는 종합적으로 복원되었습니다. +- **목적:** 아키텍처 업그레이드를 통해 시스템 안정성과 사용자 경험을 향상시키기 위함입니다. + +
+ +
+ +## 2025년 7월 02일 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 1 2주차** + +
+ +
+ +채식, 비채식, 혼합 카테고리 전반에 걸쳐 세밀한 이미지 라벨링을 통해 AI의 글로벌 음식 문화 및 선호도 이해를 확장하기 위함입니다. + +- **접근 방법:** Binance Wallet 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (알파 포인트 ≥ 61). +- **보상:** 총 50,000,000 $XNY의 보상 풀, 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 7월 2일 13:00 UTC – 2025년 7월 9일 13:00 UTC. + +
+ +
+ +## 2025년 6월 25일 +--- +**캠페인 시작: Codatta 부스터 캠페인 시즌 1 1주차** + +
+ +
+ +주석이 달린 음식 데이터를 수집하고, 퀴즈를 통해 커뮤니티의 지식을 활용하며, 다단계 인센티브 구조를 통해 참여를 보상함으로써 첫 번째 시즌을 시작하기 위함입니다. + +- **접근 방법:** Binance Wallet 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (알파 포인트 ≥ 61). +- **보상:** 총 50,000,000 $XNY의 보상 풀, 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 6월 25일 13:00 UTC – 2025년 7월 2일 13:00 UTC. + +
{/* Component definitions - moved to end of file for cleaner code organization */} +export const ChangelogFilter = () => { + const [activeFilter, setActiveFilter] = useState('all'); + const [isOpen, setIsOpen] = useState(false); + const [isMenuHovered, setIsMenuHovered] = useState(false); + + useEffect(() => { + window.activeTypeFilter = activeFilter; + }, [activeFilter]); + + useEffect(() => { + const items = document.querySelectorAll('.changelog-item'); + const activeMonth = window.activeMonthFilter || 'all'; + + items.forEach((item) => { + const itemType = item.getAttribute('data-type'); + const itemMonth = item.getAttribute('data-month'); + + const typeMatch = activeFilter === 'all' || itemType === activeFilter; + const monthMatch = activeMonth === 'all' || itemMonth === activeMonth; + + item.style.display = typeMatch && monthMatch ? '' : 'none'; + }); + }, [activeFilter]); + + const filterTypes = [ + { id: 'all', label: 'All', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, + { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, + { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } + ]; + + const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; + + return ( +
+
setIsOpen(!isOpen)} + style={{ + display: 'inline-flex', + alignItems: 'center', + gap: '0.5rem', + padding: '0.625rem 1rem', + border: '2px solid #e5e7eb', + borderRadius: '0.5rem', + background: 'white', + cursor: 'pointer', + fontSize: '0.875rem', + fontWeight: '500', + boxShadow: isOpen ? `0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)` : '0 1px 2px 0 rgba(0, 0, 0, 0.05)', + transition: 'all 0.2s ease', + userSelect: 'none', + minWidth: '200px' + }} + > + + + {activeType.label} ({activeType.count}) + + +
+ + {isOpen && ( +
setIsMenuHovered(true)} + onMouseLeave={() => setIsMenuHovered(false)} + style={{ + position: 'absolute', + top: '100%', + left: 0, + marginTop: '0.5rem', + backgroundColor: 'white', + border: `2px solid ${isMenuHovered ? '#9ca3af' : '#e5e7eb'}`, + borderRadius: '0.5rem', + boxShadow: isMenuHovered + ? '0 10px 15px -3px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1)' + : '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)', + zIndex: 1000, + minWidth: '280px', + overflow: 'hidden', + transition: 'border-color 0.2s ease, box-shadow 0.2s ease' + }} + > + {filterTypes.map((type) => ( +
{ + setActiveFilter(type.id); + setIsOpen(false); + }} + style={{ + padding: '0.75rem 1rem', + cursor: 'pointer', + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + borderBottom: type.id !== filterTypes[filterTypes.length - 1].id ? '1px solid #f3f4f6' : 'none', + backgroundColor: activeFilter === type.id ? '#f9fafb' : 'white', + transition: 'background-color 0.15s ease' + }} + onMouseEnter={(e) => { + if (activeFilter !== type.id) { + e.currentTarget.style.backgroundColor = '#f3f4f6'; + } + }} + onMouseLeave={(e) => { + if (activeFilter !== type.id) { + e.currentTarget.style.backgroundColor = 'white'; + } + }} + > + + {type.label} + + + {type.count} + +
+ ))} +
+ )} + + {isOpen && ( +
setIsOpen(false)} + style={{ + position: 'fixed', + top: 0, + left: 0, + right: 0, + bottom: 0, + zIndex: 999, + backgroundColor: 'transparent' + }} + /> + )} +
+ ); +}; + +export const MonthFilter = () => { + const [activeMonth, setActiveMonth] = useState('all'); + const [isOpen, setIsOpen] = useState(false); + const [isMenuHovered, setIsMenuHovered] = useState(false); + + useEffect(() => { + window.activeMonthFilter = activeMonth; + const event = new Event('monthFilterChange'); + window.dispatchEvent(event); + }, [activeMonth]); + + useEffect(() => { + const handleMonthChange = () => { + const items = document.querySelectorAll('.changelog-item'); + const activeType = window.activeTypeFilter || 'all'; + + items.forEach((item) => { + const itemType = item.getAttribute('data-type'); + const itemMonth = item.getAttribute('data-month'); + + const typeMatch = activeType === 'all' || itemType === activeType; + const monthMatch = activeMonth === 'all' || itemMonth === activeMonth; + + item.style.display = typeMatch && monthMatch ? '' : 'none'; + }); + }; + + window.addEventListener('monthFilterChange', handleMonthChange); + handleMonthChange(); + + return () => { + window.removeEventListener('monthFilterChange', handleMonthChange); + }; + }, [activeMonth]); + + const months = [ + { id: 'all', label: 'All Months', count: 24 }, + { id: 'dec', label: 'December', count: 1 }, + { id: 'nov', label: 'November', count: 3 }, + { id: 'oct', label: 'October', count: 6 }, + { id: 'sep', label: 'September', count: 3 }, + { id: 'aug', label: 'August', count: 5 }, + { id: 'jul', label: 'July', count: 5 }, + { id: 'jun', label: 'June', count: 1 } + ]; + + const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; + + return ( +
+
setIsOpen(!isOpen)} + style={{ + display: 'inline-flex', + alignItems: 'center', + gap: '0.5rem', + padding: '0.625rem 1rem', + border: '2px solid #e5e7eb', + borderRadius: '0.5rem', + background: 'white', + cursor: 'pointer', + fontSize: '0.875rem', + fontWeight: '500', + boxShadow: isOpen ? `0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)` : '0 1px 2px 0 rgba(0, 0, 0, 0.05)', + transition: 'all 0.2s ease', + userSelect: 'none', + minWidth: '200px' + }} + > + + {activeMonthData.label} ({activeMonthData.count}) + + +
+ + {isOpen && ( +
setIsMenuHovered(true)} + onMouseLeave={() => setIsMenuHovered(false)} + style={{ + position: 'absolute', + top: '100%', + left: 0, + marginTop: '0.5rem', + backgroundColor: 'white', + border: `2px solid ${isMenuHovered ? '#9ca3af' : '#e5e7eb'}`, + borderRadius: '0.5rem', + boxShadow: isMenuHovered + ? '0 10px 15px -3px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1)' + : '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)', + zIndex: 1000, + minWidth: '280px', + overflow: 'hidden', + transition: 'border-color 0.2s ease, box-shadow 0.2s ease' + }} + > + {months.map((month) => ( +
{ + setActiveMonth(month.id); + setIsOpen(false); + }} + style={{ + padding: '0.75rem 1rem', + cursor: 'pointer', + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + borderBottom: month.id !== months[months.length - 1].id ? '1px solid #f3f4f6' : 'none', + backgroundColor: activeMonth === month.id ? '#f9fafb' : 'white', + transition: 'background-color 0.15s ease' + }} + onMouseEnter={(e) => { + if (activeMonth !== month.id) { + e.currentTarget.style.backgroundColor = '#f3f4f6'; + } + }} + onMouseLeave={(e) => { + if (activeMonth !== month.id) { + e.currentTarget.style.backgroundColor = 'white'; + } + }} + > + + {month.label} + + + {month.count} + +
+ ))} +
+ )} + + {isOpen && ( +
setIsOpen(false)} + style={{ + position: 'fixed', + top: 0, + left: 0, + right: 0, + bottom: 0, + zIndex: 999, + backgroundColor: 'transparent' + }} + /> + )} +
+ ); +}; From 5b089ab929689379a522ec402050d3c8bea673aa Mon Sep 17 00:00:00 2001 From: Joel Date: Sun, 4 Jan 2026 19:52:04 +0800 Subject: [PATCH 3/9] Fix changelog issues: unify date formats, fix parsing errors, update translation prompts --- cn/changelog/2025.mdx | 88 ++++++++++++++++++++++--------------------- docs.json | 11 ++++++ en/changelog/2025.mdx | 3 ++ ko/changelog/2025.mdx | 71 +++++++++++++++++++--------------- translate.js | 4 +- 5 files changed, 101 insertions(+), 76 deletions(-) diff --git a/cn/changelog/2025.mdx b/cn/changelog/2025.mdx index 61379e5..948787b 100644 --- a/cn/changelog/2025.mdx +++ b/cn/changelog/2025.mdx @@ -1,8 +1,10 @@ --- -title: "Changelog" -description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." +title: "变更日志" +description: "本文档记录了 Codatta 在 2025 年的所有更新、修复和新功能。" --- +import { useState, useEffect } from 'react'; +
{num} - result{num !== 1 ? 's' : ''} + 条结果
); }; @@ -74,7 +76,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## Dec 04, 2025 +## 2025 年 12 月 04 日 --- **激励机制演变:长期生态管理的奖励锁定** @@ -94,7 +96,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## Nov 24, 2025 +## 2025 年 11 月 24 日 --- **活动启动:空投第二季** @@ -116,7 +118,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## Nov 05, 2025 +## 2025 年 11 月 05 日 --- **账户系统升级:去中心化身份(DID)正式上线** @@ -136,7 +138,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## Nov 03, 2025 +## 2025 年 11 月 03 日 --- **任务系统调整:加密前沿任务模块停用** @@ -153,7 +155,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## Oct 24, 2025 +## 2025 年 10 月 24 日 --- **前沿系统调整:机器人前沿停用** @@ -170,7 +172,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## Oct 23, 2025 +## 2025 年 10 月 23 日 --- **反垃圾邮件增强:实施每日提交限制** @@ -187,7 +189,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## Oct 20, 2025 +## 2025 年 10 月 20 日 --- **前沿系统调整:加密前沿停用** @@ -204,7 +206,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## Oct 15, 2025 +## 2025 年 10 月 15 日 --- **系统治理:平台黑名单控制实施** @@ -221,7 +223,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## Oct 13, 2025 +## 2025 年 10 月 13 日 --- **活动启动:空投第一季** @@ -245,7 +247,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## Oct 10, 2025 +## 2025 年 10 月 10 日 --- **功能发布:前沿特定奖励活动** @@ -255,7 +257,6 @@ description: "This changelog documents all updates, fixes, and new features for 现在为前沿提供可配置的奖励活动,提供额外的高价值激励。 -```html - **如何:** 选定的前沿任务提供额外的奖励,奖励以 $XNY 或 USDT 形式发放,与基础积分无关。活动参数(奖励金额、持续时间、目标)根据每个前沿任务设定,并在其各自的主页上显示。 - **为什么:** 通过有针对性的激励措施,推动用户更深入地参与高价值数据任务,从而提高数据质量和生态系统的参与度。 @@ -263,7 +264,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年9月26日 +## 2025 年 09 月 26 日 --- **活动启动: Codatta 助推器活动 第三季 第四周** @@ -281,7 +282,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年9月12日 +## 2025 年 09 月 12 日 --- **活动启动: Codatta 助推器活动 第三季 第三周** @@ -299,7 +300,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年9月5日 +## 2025 年 09 月 05 日 --- **活动启动: Codatta 助推器活动 第三季 第二周** @@ -317,7 +318,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年8月28日 +## 2025 年 08 月 28 日 --- **功能发布: 用户数据档案** @@ -334,7 +335,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年8月22日 +## 2025 年 08 月 22 日 --- **活动启动: Codatta 助推器活动 第三季 第一周** @@ -352,7 +353,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年8月15日 +## 2025 年 08 月 15 日 --- **活动启动: Codatta 助推器活动 第二季 第四周** @@ -370,7 +371,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年8月8日 +## 2025 年 08 月 08 日 --- **活动启动: Codatta 助推器活动 第二季 第三周** @@ -388,7 +389,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年8月1日 +## 2025 年 08 月 01 日 --- **活动启动: Codatta 助推器活动 第二季 第二周** @@ -406,7 +407,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年7月24日 +## 2025 年 07 月 24 日 --- **活动启动: Codatta 助推器活动 第二季 第一周** @@ -424,7 +425,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年7月16日 +## 2025 年 07 月 16 日 --- **活动启动: Codatta 助推器活动 第一季 第四周** @@ -442,7 +443,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年7月9日 +## 2025 年 07 月 09 日 --- **活动启动: Codatta 助推器活动 第一季 第三周** @@ -460,7 +461,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年7月7日 +## 2025 年 07 月 07 日 --- **功能优化: 任务系统恢复** @@ -474,11 +475,10 @@ description: "This changelog documents all updates, fixes, and new features for - **为什么:** 通过架构升级,提高系统稳定性和用户体验。
-```
-## 2025年7月02日 +## 2025 年 07 月 02 日 --- **活动启动:Codatta Booster 活动 第一季 第二周** @@ -496,7 +496,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## 2025年6月25日 +## 2025 年 06 月 25 日 --- **活动启动:Codatta Booster 活动 第一季 第一周** @@ -510,7 +510,9 @@ description: "This changelog documents all updates, fixes, and new features for - **奖励:** 总奖励池为 50,000,000 $XNY,任务完成并验证后发放。 - **时间安排:** 2025年6月25日 13:00 UTC – 2025年7月2日 13:00 UTC。 -
{/* Component definitions - moved to end of file for cleaner code organization */} +
+ +{/* Component definitions - moved to end of file for cleaner code organization */} export const ChangelogFilter = () => { const [activeFilter, setActiveFilter] = useState('all'); const [isOpen, setIsOpen] = useState(false); @@ -536,11 +538,11 @@ export const ChangelogFilter = () => { }, [activeFilter]); const filterTypes = [ - { id: 'all', label: 'All', color: '#6b7280', count: 24 }, - { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, - { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, - { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, - { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } + { id: 'all', label: '全部', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: '核心功能发布', color: '#16A34A', count: 4 }, + { id: 'optimization', label: '调整与优化', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: '修复与功能停用', color: '#EF4444', count: 3 }, + { id: 'campaign', label: '活动启动', color: '#A855F7', count: 14 } ]; const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; @@ -712,14 +714,14 @@ export const MonthFilter = () => { }, [activeMonth]); const months = [ - { id: 'all', label: 'All Months', count: 24 }, - { id: 'dec', label: 'December', count: 1 }, - { id: 'nov', label: 'November', count: 3 }, - { id: 'oct', label: 'October', count: 6 }, - { id: 'sep', label: 'September', count: 3 }, - { id: 'aug', label: 'August', count: 5 }, - { id: 'jul', label: 'July', count: 5 }, - { id: 'jun', label: 'June', count: 1 } + { id: 'all', label: '全部月份', count: 24 }, + { id: 'dec', label: '十二月', count: 1 }, + { id: 'nov', label: '十一月', count: 3 }, + { id: 'oct', label: '十月', count: 6 }, + { id: 'sep', label: '九月', count: 3 }, + { id: 'aug', label: '八月', count: 5 }, + { id: 'jul', label: '七月', count: 5 }, + { id: 'jun', label: '六月', count: 1 } ]; const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; diff --git a/docs.json b/docs.json index 742763f..f8da602 100644 --- a/docs.json +++ b/docs.json @@ -239,6 +239,17 @@ ] } ] + }, + { + "tab": "변경 로그", + "groups": [ + { + "group": "2025", + "pages": [ + "ko/changelog/2025" + ] + } + ] } ] } diff --git a/en/changelog/2025.mdx b/en/changelog/2025.mdx index dcc6f8e..895dc87 100644 --- a/en/changelog/2025.mdx +++ b/en/changelog/2025.mdx @@ -3,6 +3,8 @@ title: "Changelog" description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." --- +import { useState, useEffect } from 'react'; +
## Dec 04, 2025 + --- **Evolving Incentives: Reward Lock-ups for Long-term Ecosystem Management** diff --git a/ko/changelog/2025.mdx b/ko/changelog/2025.mdx index 946ec91..ffd4e66 100644 --- a/ko/changelog/2025.mdx +++ b/ko/changelog/2025.mdx @@ -1,8 +1,10 @@ --- -title: "Changelog" -description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." +title: "변경 로그" +description: "이 변경 로그는 Codatta의 2025년 모든 업데이트, 수정 사항 및 새로운 기능을 문서화합니다." --- +import { useState, useEffect } from 'react'; +
{num} - result{num !== 1 ? 's' : ''} + 개 결과
); }; @@ -255,9 +257,14 @@ description: "This changelog documents all updates, fixes, and new features for 프론티어를 위한 구성 가능한 보상 활동이 제공되어 추가적인 고부가가치 인센티브를 제공합니다. +- **방법:** 선택된 프론티어 작업은 기본 포인트와 무관하게 $XNY 또는 USDT로 추가 보상을 제공합니다. 활동 매개변수(보상 금액, 지속 시간, 목표)는 각 프론티어별로 설정되며 각각의 홈페이지에 표시됩니다. +- **목적:** 타겟팅된 인센티브를 통해 고부가가치 데이터 작업에 대한 더 깊은 참여를 유도하여 데이터 품질과 생태계 참여를 모두 개선하기 위함입니다. + +
+
-## Sep 26, 2025 +## 2025년 09월 26일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 3 4주차** @@ -275,7 +282,7 @@ description: "This changelog documents all updates, fixes, and new features for
-## Sep 12, 2025 +## 2025년 09월 12일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 3 3주차** @@ -293,7 +300,7 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학, 암호화폐, 모델 비
-## Sep 05, 2025 +## 2025년 09월 05일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 3 2주차** @@ -311,7 +318,7 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친
-## Aug 28, 2025 +## 2025년 08월 28일 --- **기능 출시: 사용자 데이터 프로필** @@ -328,7 +335,7 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친
-## Aug 22, 2025 +## 2025년 08월 22일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 3 1주차** @@ -346,7 +353,7 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친
-## Aug 15, 2025 +## 2025년 08월 15일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 2 4주차** @@ -364,7 +371,7 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친
-## Aug 08, 2025 +## 2025년 08월 08일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 2 3주차** @@ -382,7 +389,7 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친
-## Aug 01, 2025 +## 2025년 08월 01일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 2 2주차** @@ -400,7 +407,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터
-## July 24, 2025 +## 2025년 07월 24일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 2 1주차** @@ -418,7 +425,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터
-## July 16, 2025 +## 2025년 07월 16일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 1 4주차** @@ -436,7 +443,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터
-## July 09, 2025 +## 2025년 07월 09일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 1 3주차** @@ -454,7 +461,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터
-## July 07, 2025 +## 2025년 07월 07일 --- **기능 최적화: 퀘스트 시스템 복원** @@ -471,7 +478,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터
-## 2025년 7월 02일 +## 2025년 07월 02일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 1 2주차** @@ -489,7 +496,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터
-## 2025년 6월 25일 +## 2025년 06월 25일 --- **캠페인 시작: Codatta 부스터 캠페인 시즌 1 1주차** @@ -503,7 +510,9 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 - **보상:** 총 50,000,000 $XNY의 보상 풀, 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 6월 25일 13:00 UTC – 2025년 7월 2일 13:00 UTC. -
{/* Component definitions - moved to end of file for cleaner code organization */} +
+ +{/* Component definitions - moved to end of file for cleaner code organization */} export const ChangelogFilter = () => { const [activeFilter, setActiveFilter] = useState('all'); const [isOpen, setIsOpen] = useState(false); @@ -529,11 +538,11 @@ export const ChangelogFilter = () => { }, [activeFilter]); const filterTypes = [ - { id: 'all', label: 'All', color: '#6b7280', count: 24 }, - { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, - { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, - { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, - { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } + { id: 'all', label: '전체', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: '핵심 기능 출시', color: '#16A34A', count: 4 }, + { id: 'optimization', label: '조정 및 최적화', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: '수정 및 기능 종료', color: '#EF4444', count: 3 }, + { id: 'campaign', label: '캠페인 시작', color: '#A855F7', count: 14 } ]; const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; @@ -705,14 +714,14 @@ export const MonthFilter = () => { }, [activeMonth]); const months = [ - { id: 'all', label: 'All Months', count: 24 }, - { id: 'dec', label: 'December', count: 1 }, - { id: 'nov', label: 'November', count: 3 }, - { id: 'oct', label: 'October', count: 6 }, - { id: 'sep', label: 'September', count: 3 }, - { id: 'aug', label: 'August', count: 5 }, - { id: 'jul', label: 'July', count: 5 }, - { id: 'jun', label: 'June', count: 1 } + { id: 'all', label: '전체 월', count: 24 }, + { id: 'dec', label: '12월', count: 1 }, + { id: 'nov', label: '11월', count: 3 }, + { id: 'oct', label: '10월', count: 6 }, + { id: 'sep', label: '9월', count: 3 }, + { id: 'aug', label: '8월', count: 5 }, + { id: 'jul', label: '7월', count: 5 }, + { id: 'jun', label: '6월', count: 1 } ]; const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; diff --git a/translate.js b/translate.js index 4347867..9e833b6 100644 --- a/translate.js +++ b/translate.js @@ -11,13 +11,13 @@ const TARGET_LANGS = [ code: "cn", name: "Chinese", systemPrompt: - "请将以下英文 changelog 按中文语境重写一下,要求:1. 只翻译纯文本部分,忽略任何 HTML 标签、代码块、表格、特殊格式(如代码行、列)等,看着像代码也保留不动。2. 保留原有 HTML 标签和结构,不要修改格式。3. 保证翻译内容准确。4.小标题的单词也要翻译(标题的日期不要翻译)。5.不要直译,要理解英文原文的语义,然后用符合中文语言习惯的自然方式重新表述。例如:'action' 不应直译为'行动',而应根据上下文用更自然的中文表达。确保翻译后的中文读起来自然流畅,符合中文表达习惯。", + "请将以下英文 changelog 按中文语境重写一下,要求:1. 只翻译纯文本部分,忽略任何 HTML 标签、代码块、表格、特殊格式(如代码行、列)等,看着像代码也保留不动。2. 保留原有 HTML 标签和结构,不要修改格式。3. 保证翻译内容准确。4.小标题的单词也要翻译,日期也要翻译,但必须遵循统一的日期格式。5.不要直译,要理解英文原文的语义,然后用符合中文语言习惯的自然方式重新表述。例如:'action' 不应直译为'行动',而应根据上下文用更自然的中文表达(如'操作'、'动作'等)。6.以下术语和表达必须固定使用,不要翻译:- 'Frontier' 和 'Frontiers' 是产品名,保持英文不翻译;- 'Lineage' 翻译为'血缘'(因为我们有产品叫 Data Lineage 数据血缘);- 小要点中的 'How' 不要翻译成'如何',统一翻译为'运作方式';- 'Timeline' 不要翻译成'时间表'、'时间安排',统一翻译为'活动时间';- 'Access' 不要翻译成'访问'、'访问方式',统一翻译为'参与方式';- 'Lock' 统一翻译为'锁仓'。7.日期格式必须严格统一为:'2025 年 12 月 04 日'格式(汉字和数字之间必须保留 1 个空格,年份、月份、日期都是两位数,月份和日期不足两位要补零,例如:'2025 年 09 月 05 日'、'2025 年 06 月 25 日')。所有日期标题(如 '## Dec 04, 2025')必须翻译为 '## 2025 年 12 月 04 日' 格式。确保翻译后的中文读起来自然流畅,符合中文表达习惯。", }, { code: "ko", name: "Korean", systemPrompt: - "다음 영어 changelog 를 한국어 문맥에 맞게 재작성해 주세요. 다음 요구사항을 엄격히 준수하세요: 1. 텍스트 내용만 번역하고, HTML 태그, 코드 블록, 표, 특수 형식(예: 코드 행, 열 등) 등은 무시하고, 코드로 보이는 모든 내용은 그대로 유지하세요. 2. 원본 HTML 태그와 구조를 유지하고, 형식을 수정하지 마세요. 3. 번역 내용의 정확성을 보장하세요. 4. 소제목의 단어도 반드시 번역하세요(소제목의 날짜는 번역하지 마세요). 5. 직역하지 말고, 영어 원문의 의미를 이해한 후 한국어 언어 습관에 맞는 자연스러운 방식으로 재표현하세요. 예를 들어, 'action'을 단순히 '행동'으로 직역하지 말고, 문맥에 따라 더 자연스러운 한국어 표현을 사용하세요. 번역된 한국어가 자연스럽고 유창하게 읽히도록 한국어 표현 습관에 맞게 작성하세요.", + "다음 영어 changelog 를 한국어 문맥에 맞게 재작성해 주세요. 다음 요구사항을 엄격히 준수하세요: 1. 텍스트 내용만 번역하고, HTML 태그, 코드 블록, 표, 특수 형식(예: 코드 행, 열 등) 등은 무시하고, 코드로 보이는 모든 내용은 그대로 유지하세요. 2. 원본 HTML 태그와 구조를 유지하고, 형식을 수정하지 마세요. 3. 번역 내용의 정확성을 보장하세요. 4. 소제목의 단어도 반드시 번역하세요. 날짜도 번역해야 하며, 반드시 통일된 날짜 형식을 따라야 합니다. 5. 직역하지 말고, 영어 원문의 의미를 이해한 후 한국어 언어 습관에 맞는 자연스러운 방식으로 재표현하세요. 예를 들어, 'action'을 단순히 '행동'으로 직역하지 말고, 문맥에 따라 더 자연스러운 한국어 표현을 사용하세요. 6. 날짜 형식은 반드시 '2025년 12월 04일' 형식으로 통일하세요(년, 월, 일은 모두 두 자리 숫자이며, 월과 일이 한 자리인 경우 앞에 0을 붙여야 합니다. 예: '2025년 09월 05일', '2025년 06월 25일'). 모든 날짜 제목(예: '## Dec 04, 2025')은 '## 2025년 12월 04일' 형식으로 번역해야 합니다. 번역된 한국어가 자연스럽고 유창하게 읽히도록 한국어 표현 습관에 맞게 작성하세요.", }, ]; From 98e1c55cadfcd376a0aa3bf70eba3cb8b12115e0 Mon Sep 17 00:00:00 2001 From: github-actions Date: Sun, 4 Jan 2026 11:56:29 +0000 Subject: [PATCH 4/9] chore: auto translate (20260104-115629) --- cn/changelog/2025.mdx | 259 +++++++++++++++++++++--------------------- ko/changelog/2025.mdx | 175 ++++++++++++++-------------- 2 files changed, 217 insertions(+), 217 deletions(-) diff --git a/cn/changelog/2025.mdx b/cn/changelog/2025.mdx index 948787b..edeac2d 100644 --- a/cn/changelog/2025.mdx +++ b/cn/changelog/2025.mdx @@ -1,6 +1,6 @@ --- -title: "变更日志" -description: "本文档记录了 Codatta 在 2025 年的所有更新、修复和新功能。" +title: "Changelog" +description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." --- import { useState, useEffect } from 'react'; @@ -67,7 +67,7 @@ import { useState, useEffect } from 'react'; flexShrink: 0 }}> {num} - 条结果 + result{num !== 1 ? 's' : ''}
); }; @@ -77,20 +77,21 @@ import { useState, useEffect } from 'react';
## 2025 年 12 月 04 日 + --- -**激励机制演变:长期生态管理的奖励锁定** +**激励机制演变:长期生态管理的奖励锁仓**
-为高激励任务(例如,在空投或前沿活动中)提供的可选奖励锁定功能。 +为高激励任务(例如,在空投或 Frontier 活动中)提供的可选锁仓功能。 - **触发:** 活动结束后,奖励将存入您的余额。 -- **锁定:** 通过资产页面将奖励锁定在智能合约中以确保安全。 -- **释放:** 锁定期结束后,您可以一键将奖励直接提取到您的钱包。 +- **锁仓:** 通过资产页面将奖励锁定在智能合约中以确保安全。 +- **释放:** 在锁仓期结束后,您可以一键将奖励直接提取到您的钱包。 -这是我们激励系统向细化管理演变的重要一步。它为高奖励场景中的流动性管理提供了工具,平衡了短期参与与生态系统的长期健康。 +这是我们激励系统向精细化管理演变的关键一步。它为在高奖励场景中管理流动性提供了工具,平衡了短期参与与生态系统的长期健康。
@@ -104,15 +105,15 @@ import { useState, useEffect } from 'react';
-系统性地收集物理学、金融和多模态领域的学术级数据集,并为三个新前沿建立高质量的数据管道。 +系统性地收集物理学、金融和多模态领域的学术级数据集,并为三个新 Frontier 启动高质量数据管道。 -- **行动:** 启动空投第二季,奖池为100万$XNY(3个月线性归属)。 -- **新前沿:** - - **高级物理问题:** 供领域专家提交当前AI无法正确回答的高难度物理问题。 - - **加密与股票信息:** 为AI提供与加密货币和股票投资决策相关的可靠信息。 - - **现实世界照片:** 为AI提供包含注释元数据的现实世界照片。 -- **奖励结构:** 任务完成奖励占90%,排行榜排名占10%。 -- **时间表:** 2025年11月24日09:00 UTC – 2025年12月8日09:00 UTC。 +- **操作:** 启动空投第二季,奖金池为 100 万 $XNY(3 个月线性解锁)。 +- **新 Frontier:** + - **高级物理问题:** 供领域专家提交当前 AI 无法正确回答的高难度物理问题。 + - **加密与股票信息:** 为 AI 提供与加密货币和股票投资决策相关的可靠信息。 + - **现实世界照片:** 为 AI 提供包含注释元数据的现实世界照片。 +- **奖励结构:** 任务完成奖励占 90%,排行榜排名奖励占 10%。 +- **活动时间:** 2025 年 11 月 24 日 09:00 UTC – 2025 年 12 月 08 日 09:00 UTC。
@@ -120,19 +121,19 @@ import { useState, useEffect } from 'react'; ## 2025 年 11 月 05 日 --- -**账户系统升级:去中心化身份(DID)正式上线** +**账户系统升级:DID 正式上线**
-一项基础升级,使账户绑定到去中心化身份(DID)。 +一项基础升级,使账户能够绑定到去中心化标识符(DID)。 -- **绑定:** 通过下次登录Codatta自助集成链上DID。 -- **关联:** 绑定的DID作为统一主键,系统性地索引所有任务操作、数据贡献和奖励分配。 -- **血统:** 实现链上和链下活动的完整可追溯性和验证,建立不可变的数据来源。 +- **绑定:** 通过下次登录 Codatta 自助集成链上 DID。 +- **关联:** 绑定的 DID 作为统一主键,系统性地索引所有任务操作、数据贡献和奖励分配。 +- **血缘:** 实现链上和链下活动的完全可追溯性和验证,建立不可变的数据来源。 -此部署为可验证的数据经济奠定了技术基础。通过为每位贡献者提供持久的、独特的数字身份,我们实现了细化的贡献归属、明确的所有权验证和协议层面的透明激励分配。 +此部署为可验证的数据经济奠定了技术基础。通过为每位贡献者提供持久的、独特的数字身份,我们实现了精细化的贡献归属、明确的所有权验证和协议层面的透明激励分配。
@@ -140,16 +141,16 @@ import { useState, useEffect } from 'react'; ## 2025 年 11 月 03 日 --- -**任务系统调整:加密前沿任务模块停用** +**任务系统调整:加密 Frontier QUEST 模块停用**
-整个加密前沿任务模块及所有相关任务——包括提交、验证和赏金猎人——已下线。 +整个加密 Frontier QUEST 模块及所有相关任务——包括提交、验证和赏金猎人——已下线。 -- **原因:** 该模块已完成当前产品路线图下的计划生命周期。停用有助于系统精简和资源重新配置,以支持即将发布的新功能。 -- **注意:** 用户在该模块的历史贡献记录和获得的奖励保持不变。此变更不影响其他前沿模块。 +- **原因:** 该模块已完成当前产品路线图下的计划生命周期。停用支持系统精简和资源重新配置,以便于即将发布的新功能。 +- **注意:** 用户在该模块的历史贡献记录和获得的奖励保持不变。此更改不影响其他 Frontier 模块。
@@ -157,16 +158,16 @@ import { useState, useEffect } from 'react'; ## 2025 年 10 月 24 日 --- -**前沿系统调整:机器人前沿停用** +**Frontier 系统调整:机器人 Frontier 停用**
-机器人前沿已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 +机器人 Frontier 已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 -- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃前沿上。机器人前沿已完成其计划的探索阶段,停用使我们能够整合努力。 -- **注意:** 用户在机器人前沿的过去贡献和奖励被保留,并可在其贡献历史中查看。其他前沿或平台功能不受影响。 +- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃 Frontier 上。机器人 Frontier 已完成其计划的探索阶段,停用使我们能够整合努力。 +- **注意:** 用户在机器人 Frontier 的过去贡献和奖励被保留,并可在其贡献历史中查看。其他 Frontier 或平台功能不受影响。
@@ -182,7 +183,7 @@ import { useState, useEffect } from 'react'; 一项新的平台安全政策,以防止任务垃圾邮件。 -- **如何:** 对每个任务实施可配置的每日提交上限。 +- **运作方式:** 对每个任务实施可配置的每日提交上限。 - **原因:** 保护系统资源,确保所有贡献者的公平参与,并维护任务生态系统的长期健康和公平性。
@@ -191,16 +192,16 @@ import { useState, useEffect } from 'react'; ## 2025 年 10 月 20 日 --- -**前沿系统调整:加密前沿停用** +**Frontier 系统调整:加密 Frontier 停用**
-加密前沿已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 +加密 Frontier 已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 -- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃前沿上。加密前沿已完成其计划的探索阶段,停用使我们能够整合努力。 -- **注意:** 用户在加密前沿的过去贡献和奖励被保留,并可在其贡献历史中查看。其他前沿或平台功能不受影响。 +- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃 Frontier 上。加密 Frontier 已完成其计划的探索阶段,停用使我们能够整合努力。 +- **注意:** 用户在加密 Frontier 的过去贡献和奖励被保留,并可在其贡献历史中查看。其他 Frontier 或平台功能不受影响。
@@ -216,7 +217,7 @@ import { useState, useEffect } from 'react'; 平台上实施了一项新的黑名单控制功能。 -- **如何:** 指定的管理员现在可以应用黑名单规则以限制恶意账户。 +- **运作方式:** 指定管理员现在可以应用黑名单规则以限制恶意账户。 - **原因:** 增强平台安全性,保护贡献者利益,维护生态系统公平性。
@@ -231,17 +232,17 @@ import { useState, useEffect } from 'react';
-通过高奖励机制和反垃圾邮件执行系统性地收集高质量、结构化的数据,确保有效性和学术价值,并奖励长期贡献者,丰富平台的数据生态系统,推出五个新前沿模块。 +通过高奖励机制和反垃圾邮件执行系统性收集高质量、结构化的数据,确保有效性和学术价值,并奖励长期贡献者,丰富平台的数据生态系统,推出五个新 Frontier 模块。 -- **行动:** 启动空投第一季,奖池为250万$XNY及积分奖励。 -- **新前沿:** - - **模型比较:** 比较不同AI模型的性能指标和商业结果,以识别最佳或混合解决方案。 - - **识别LLM错误:** 识别LLM输出中的推理、事实和逻辑错误,以支持模型优化。 - - **纠正LLM错误:** 收集纠正数据,帮助LLM从错误中学习,提高自我纠正和推理能力。 - - **食品科学:** 收集食品科学和营养功能方面的研究数据,以推动该领域的创新。 - - **生活记录画布:** 跟踪和记录个人行为及健康相关数据,以支持行为及相关研究。 -- **奖励结构:** 奖励根据提交评级排名,并在活动结束后分配。恶意提交将受到惩罚,以确保数据质量。 -- **时间表:** 2025年10月13日09:00 UTC - 2025年10月27日09:00 UTC。 +- **操作:** 启动空投第一季,奖金池为 250 万 $XNY 和积分奖励。 +- **新 Frontier:** + - **模型比较:** 比较不同 AI 模型的性能指标和商业结果,以识别最佳或混合解决方案。 + - **识别 LLM 错误:** 识别 LLM 输出中的推理、事实和逻辑错误,以支持模型优化。 + - **纠正 LLM 错误:** 收集纠正数据,帮助 LLM 从错误中学习,提高自我纠正和推理能力。 + - **食品科学:** 收集食品科学和营养功能的研究数据,以推动该领域的创新。 + - **生活记录画布:** 跟踪和记录个人行为和健康相关数据,以支持行为及相关研究。 +- **奖励结构:** 奖励根据提交评分排名,并在活动结束后分配。恶意提交将受到惩罚,以确保数据质量。 +- **活动时间:** 2025 年 10 月 13 日 09:00 UTC - 2025 年 10 月 27 日 09:00 UTC。
@@ -249,16 +250,16 @@ import { useState, useEffect } from 'react'; ## 2025 年 10 月 10 日 --- -**功能发布:前沿特定奖励活动** +**功能发布:Frontier 特定奖励活动**
-现在为前沿提供可配置的奖励活动,提供额外的高价值激励。 +现在为 Frontiers 提供可配置的奖励活动,提供额外的高价值激励。 -- **如何:** 选定的前沿任务提供额外的奖励,奖励以 $XNY 或 USDT 形式发放,与基础积分无关。活动参数(奖励金额、持续时间、目标)根据每个前沿任务设定,并在其各自的主页上显示。 -- **为什么:** 通过有针对性的激励措施,推动用户更深入地参与高价值数据任务,从而提高数据质量和生态系统的参与度。 +- **运作方式:** 选定的 Frontier 任务提供额外的奖励,奖励以 $XNY 或 USDT 形式发放,与基础积分无关。活动参数(奖励金额、持续时间、目标)根据每个 Frontier 设置,并在其各自的主页上显示。 +- **原因:** 通过有针对性的激励措施,推动对高价值数据任务的更深入参与,提高数据质量和生态系统的参与度。
@@ -266,17 +267,17 @@ import { useState, useEffect } from 'react'; ## 2025 年 09 月 26 日 --- -**活动启动: Codatta 助推器活动 第三季 第四周** +**活动启动:Codatta Booster 活动 第三季 第四周**
-通过可信的多领域数据收集,加速人工智能的发展,并促进社区驱动的去中心化人工智能知识构建。 +通过可信的多领域数据收集加速 AI 发展,并促进社区驱动的去中心化 AI 知识构建。 -- **访问:** 通过币安钱包助推器标签或主页横幅访问(需要 Alpha 积分 ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 -- **时间表:** 2025年9月26日 07:00 UTC – 2025年10月3日 07:00 UTC。 +- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **活动时间:** 2025 年 09 月 26 日 07:00 UTC – 2025 年 10 月 03 日 07:00 UTC。
@@ -284,17 +285,17 @@ import { useState, useEffect } from 'react'; ## 2025 年 09 月 12 日 --- -**活动启动: Codatta 助推器活动 第三季 第三周** +**活动启动:Codatta Booster 活动 第三季 第三周**
-收集跨领域的数据,涵盖生活、机器人、加密货币、模型比较和指纹验证,以用于人工智能的训练和验证。 +收集跨领域数据,涵盖生活、机器人、加密货币、模型比较和指纹验证,以用于 AI 训练和验证。 -- **访问:** 通过币安钱包助推器标签或主页横幅访问(需要 Alpha 积分 ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 -- **时间表:** 2025年9月12日 07:00 UTC – 2025年9月19日 07:00 UTC。 +- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **活动时间:** 2025 年 09 月 12 日 07:00 UTC – 2025 年 09 月 19 日 07:00 UTC。
@@ -302,17 +303,17 @@ import { useState, useEffect } from 'react'; ## 2025 年 09 月 05 日 --- -**活动启动: Codatta 助推器活动 第三季 第二周** +**活动启动:Codatta Booster 活动 第三季 第二周**
-收集和注释跨领域的数据,涵盖生活、机器人和加密货币,以用于人工智能的训练和验证。 +收集和注释跨领域数据,涵盖生活、机器人和加密货币,以用于 AI 训练和验证。 -- **访问:** 通过币安钱包助推器标签或主页横幅访问(需要 Alpha 积分 ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 -- **时间表:** 2025年9月5日 07:00 UTC – 2025年9月12日 07:00 UTC。 +- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **活动时间:** 2025 年 09 月 05 日 07:00 UTC – 2025 年 09 月 12 日 07:00 UTC。
@@ -320,7 +321,7 @@ import { useState, useEffect } from 'react'; ## 2025 年 08 月 28 日 --- -**功能发布: 用户数据档案** +**功能发布:用户数据档案**
@@ -328,8 +329,8 @@ import { useState, useEffect } from 'react'; 在用户信息模块中引入新的数据档案功能。 -- **如何:** 通过用户信息 > 数据档案访问,查看您的总提交、获得的奖励和贡献统计信息,呈现在可视化仪表板中。 -- **为什么:** 提供对您贡献的透明度,通过可见的进度跟踪增强参与感,并支持长期参与。 +- **运作方式:** 通过用户信息 > 数据档案访问,查看您的总提交、获得的奖励和贡献统计信息,呈现在可视化仪表板中。 +- **原因:** 提供对您贡献的透明度,通过可见的进度跟踪增强参与感,并支持长期参与。
@@ -337,17 +338,17 @@ import { useState, useEffect } from 'react'; ## 2025 年 08 月 22 日 --- -**活动启动: Codatta 助推器活动 第三季 第一周** +**活动启动:Codatta Booster 活动 第三季 第一周**
-为去中心化的人工智能训练建立跨领域注释数据的基础,涵盖生活、机器人和加密货币。 +为去中心化 AI 训练建立跨领域注释数据的基础,涵盖生活、机器人和加密货币。 -- **访问:** 通过币安钱包助推器标签或主页横幅访问(需要 Alpha 积分 ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 -- **时间表:** 2025年8月22日 07:00 UTC – 2025年8月29日 07:00 UTC。 +- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **活动时间:** 2025 年 08 月 22 日 07:00 UTC – 2025 年 08 月 29 日 07:00 UTC。
@@ -355,17 +356,17 @@ import { useState, useEffect } from 'react'; ## 2025 年 08 月 15 日 --- -**活动启动: Codatta 助推器活动 第二季 第四周** +**活动启动:Codatta Booster 活动 第二季 第四周**
-系统性地注释和扩展食品人工智能、机器人交互和 CEX 链上数据的领域特定数据集,以用于去中心化的人工智能训练。 +系统性地注释和扩展食品 AI、机器人交互和 CEX 链上数据的领域特定数据集,以用于去中心化 AI 训练。 -- **访问:** 通过币安钱包助推器标签或主页横幅访问(需要 Alpha 积分 ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 -- **时间表:** 2025年8月15日 07:00 UTC – 2025年8月22日 07:00 UTC。 +- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **活动时间:** 2025 年 08 月 15 日 07:00 UTC – 2025 年 08 月 22 日 07:00 UTC。
@@ -373,17 +374,17 @@ import { useState, useEffect } from 'react'; ## 2025 年 08 月 08 日 --- -**活动启动: Codatta 助推器活动 第二季 第三周** +**活动启动:Codatta Booster 活动 第二季 第三周**
-系统性地收集四个关键领域的注释数据:项目学习、食品人工智能判断、机器人注释和 CEX 数据扩展。 +系统性地收集四个关键领域的注释数据:项目学习、食品 AI 判断、机器人注释和 CEX 数据扩展。 -- **访问:** 通过币安钱包助推器标签或主页横幅访问(Alpha 积分 ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 -- **时间表:** 2025年8月8日 07:00 UTC – 2025年8月15日 07:00 UTC。 +- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **活动时间:** 2025 年 08 月 08 日 07:00 UTC – 2025 年 08 月 15 日 07:00 UTC。
@@ -391,17 +392,17 @@ import { useState, useEffect } from 'react'; ## 2025 年 08 月 01 日 --- -**活动启动: Codatta 助推器活动 第二季 第二周** +**活动启动:Codatta Booster 活动 第二季 第二周**
-收集三个核心领域的注释数据:人工智能食品模型比较、机器人交互注释和 CEX 热钱包数据标注。 +收集三个核心领域的注释数据:AI 食品模型比较、机器人交互注释和 CEX 热钱包数据标注。 -- **访问:** 通过币安钱包助推器标签或主页横幅访问(Alpha 积分 ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 -- **时间表:** 2025年8月1日 07:00 UTC – 2025年8月8日 07:00 UTC。 +- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **活动时间:** 2025 年 08 月 01 日 07:00 UTC – 2025 年 08 月 08 日 07:00 UTC。
@@ -409,17 +410,17 @@ import { useState, useEffect } from 'react'; ## 2025 年 07 月 24 日 --- -**活动启动: Codatta 助推器活动 第二季 第一周** +**活动启动:Codatta Booster 活动 第二季 第一周**
-通过注释的真实世界交互数据,验证人工智能食品分析并增强机器人训练。 +通过注释的真实世界交互数据来验证 AI 食品分析并增强机器人训练。 -- **访问:** 通过币安钱包助推器标签或主页横幅访问(Alpha 积分 ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁定期),在任务完成和验证后分发。 -- **时间表:** 2025年7月24日 07:00 UTC – 2025年7月31日 07:00 UTC。 +- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **活动时间:** 2025 年 07 月 24 日 07:00 UTC – 2025 年 07 月 31 日 07:00 UTC。
@@ -427,17 +428,17 @@ import { useState, useEffect } from 'react'; ## 2025 年 07 月 16 日 --- -**活动启动: Codatta 助推器活动 第一季 第四周** +**活动启动:Codatta Booster 活动 第一季 第四周**
-通过收集丰富的注释,深化人工智能对食品的理解,超越标签,涵盖重量、烹饪方法和热量内容。 +通过收集丰富的注释,深化 AI 对食品的理解,这些注释不仅限于标签,还包括重量、烹饪方法和热量含量。 -- **访问:** 通过币安钱包助推器标签或主页横幅访问(Alpha 积分 ≥ 61)。 +- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 - **奖励:** 总奖励池为 50,000,000 $XNY,在任务完成和验证后分发。 -- **时间表:** 2025年7月16日 13:00 UTC – 2025年7月23日 13:00 UTC。 +- **活动时间:** 2025 年 07 月 16 日 13:00 UTC – 2025 年 07 月 23 日 13:00 UTC。
@@ -445,17 +446,17 @@ import { useState, useEffect } from 'react'; ## 2025 年 07 月 09 日 --- -**活动启动: Codatta 助推器活动 第一季 第三周** +**活动启动:Codatta Booster 活动 第一季 第三周**
-通过收集即食食品的注释图像,教会人工智能对人类饮食习惯的细致理解,关注文化和情境的相关性,而不仅仅是简单的标签。 +通过收集即食食品的注释图像,教会 AI 对人类饮食习惯的细致理解,关注文化和上下文的相关性,而不仅仅是简单的标签。 -- **访问:** 通过币安钱包助推器标签或主页横幅访问(Alpha 积分 ≥ 61)。 +- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 - **奖励:** 总奖励池为 50,000,000 $XNY,在任务完成和验证后分发。 -- **时间表:** 2025年7月9日 13:00 UTC – 2025年7月16日 13:00 UTC。 +- **活动时间:** 2025 年 07 月 09 日 13:00 UTC – 2025 年 07 月 16 日 13:00 UTC。
@@ -463,7 +464,7 @@ import { useState, useEffect } from 'react'; ## 2025 年 07 月 07 日 --- -**功能优化: 任务系统恢复** +**功能优化:任务系统恢复**
@@ -471,8 +472,8 @@ import { useState, useEffect } from 'react'; 任务系统已全面恢复并重新开放。 -- **如何:** 于2025年6月30日暂时下线,现在已全面恢复。 -- **为什么:** 通过架构升级,提高系统稳定性和用户体验。 +- **运作方式:** 于 2025 年 06 月 30 日暂时下线,现在已全面恢复。 +- **原因:** 通过架构升级增强系统稳定性和用户体验。
@@ -480,17 +481,17 @@ import { useState, useEffect } from 'react'; ## 2025 年 07 月 02 日 --- -**活动启动:Codatta Booster 活动 第一季 第二周** +**活动启动:Codatta Booster 活动第一季第二周**
-通过对素食、非素食和混合类别的细致图像标注,扩展人工智能对全球饮食文化和偏好的理解。 +通过对素食、非素食和混合类别的细致图像标注,扩展 AI 对全球食品文化和偏好的理解。 -- **访问方式:** 可通过 Binance 钱包的 Booster 标签或主页横幅访问(Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY,任务完成并验证后发放。 -- **时间安排:** 2025年7月2日 13:00 UTC – 2025年7月9日 13:00 UTC。 +- **参与方式:** 可通过 Binance Wallet Booster 标签或主页横幅访问(Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY,任务完成并验证后分发。 +- **活动时间:** 2025 年 07 月 02 日 13:00 UTC – 2025 年 07 月 09 日 13:00 UTC。
@@ -498,21 +499,19 @@ import { useState, useEffect } from 'react'; ## 2025 年 06 月 25 日 --- -**活动启动:Codatta Booster 活动 第一季 第一周** +**活动启动:Codatta Booster 活动第一季第一周**
-通过收集标注的食品数据、通过测验激发社区知识,并通过多层次的激励结构奖励参与者,启动首季活动。 - -- **访问方式:** 可通过 Binance 钱包的 Booster 标签或主页横幅访问(Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY,任务完成并验证后发放。 -- **时间安排:** 2025年6月25日 13:00 UTC – 2025年7月2日 13:00 UTC。 +通过收集标注的食品数据、通过测验激发社区知识,并通过多层次的激励结构奖励参与,启动首季活动。 -
+- **参与方式:** 可通过 Binance Wallet Booster 标签或主页横幅访问(Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY,任务完成并验证后分发。 +- **活动时间:** 2025 年 06 月 25 日 13:00 UTC – 2025 年 07 月 02 日 13:00 UTC。 -{/* Component definitions - moved to end of file for cleaner code organization */} +
{/* Component definitions - moved to end of file for cleaner code organization */} export const ChangelogFilter = () => { const [activeFilter, setActiveFilter] = useState('all'); const [isOpen, setIsOpen] = useState(false); @@ -538,11 +537,11 @@ export const ChangelogFilter = () => { }, [activeFilter]); const filterTypes = [ - { id: 'all', label: '全部', color: '#6b7280', count: 24 }, - { id: 'core-feature', label: '核心功能发布', color: '#16A34A', count: 4 }, - { id: 'optimization', label: '调整与优化', color: '#F59E0B', count: 3 }, - { id: 'fixes', label: '修复与功能停用', color: '#EF4444', count: 3 }, - { id: 'campaign', label: '活动启动', color: '#A855F7', count: 14 } + { id: 'all', label: 'All', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, + { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, + { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } ]; const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; @@ -714,14 +713,14 @@ export const MonthFilter = () => { }, [activeMonth]); const months = [ - { id: 'all', label: '全部月份', count: 24 }, - { id: 'dec', label: '十二月', count: 1 }, - { id: 'nov', label: '十一月', count: 3 }, - { id: 'oct', label: '十月', count: 6 }, - { id: 'sep', label: '九月', count: 3 }, - { id: 'aug', label: '八月', count: 5 }, - { id: 'jul', label: '七月', count: 5 }, - { id: 'jun', label: '六月', count: 1 } + { id: 'all', label: 'All Months', count: 24 }, + { id: 'dec', label: 'December', count: 1 }, + { id: 'nov', label: 'November', count: 3 }, + { id: 'oct', label: 'October', count: 6 }, + { id: 'sep', label: 'September', count: 3 }, + { id: 'aug', label: 'August', count: 5 }, + { id: 'jul', label: 'July', count: 5 }, + { id: 'jun', label: 'June', count: 1 } ]; const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; diff --git a/ko/changelog/2025.mdx b/ko/changelog/2025.mdx index ffd4e66..d7a77de 100644 --- a/ko/changelog/2025.mdx +++ b/ko/changelog/2025.mdx @@ -1,6 +1,6 @@ --- -title: "변경 로그" -description: "이 변경 로그는 Codatta의 2025년 모든 업데이트, 수정 사항 및 새로운 기능을 문서화합니다." +title: "Changelog" +description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." --- import { useState, useEffect } from 'react'; @@ -67,7 +67,7 @@ import { useState, useEffect } from 'react'; flexShrink: 0 }}> {num} - 개 결과 + result{num !== 1 ? 's' : ''}
); }; @@ -77,6 +77,7 @@ import { useState, useEffect } from 'react';
## 2025년 12월 04일 + --- **진화하는 인센티브: 장기 생태계 관리를 위한 보상 잠금 기능** @@ -84,11 +85,11 @@ import { useState, useEffect } from 'react';
-고인센티브 작업(예: 에어드롭 또는 프론티어 캠페인)에서의 보상을 위한 선택적 잠금 기능입니다. +고인센티브 작업(예: 에어드랍 또는 프론티어 캠페인)에서의 보상을 위한 선택적 잠금 기능입니다. - **트리거:** 캠페인 후 보상이 귀하의 잔액에 입금됩니다. - **잠금:** 자산 페이지를 통해 스마트 계약에 보상을 잠금으로써 안전하게 보호합니다. -- **해제:** 잠금 기간이 끝난 후 한 번의 클릭으로 보상을 지갑으로 직접 청구할 수 있습니다. +- **해제:** 잠금 기간이 끝난 후, 한 번의 클릭으로 보상을 지갑으로 직접 청구할 수 있습니다. 이는 우리의 인센티브 시스템을 세분화된 관리로 발전시키는 중요한 단계입니다. 이는 고보상 시나리오에서 유동성을 관리할 수 있는 도구를 제공하여 단기 참여와 생태계의 장기 건강을 균형 있게 유지합니다. @@ -98,7 +99,7 @@ import { useState, useEffect } from 'react'; ## 2025년 11월 24일 --- -**캠페인 시작: 에어드롭 시즌 2** +**캠페인 시작: 에어드랍 시즌 2**
@@ -106,13 +107,13 @@ import { useState, useEffect } from 'react'; 물리학, 금융 및 다중 모드 분야에서 학술 수준의 데이터셋을 체계적으로 수집하고, 세 가지 새로운 프론티어를 위한 고품질 데이터 파이프라인을 구축합니다. -- **행동:** 100만 $XNY 상금 풀로 에어드롭 시즌 2를 시작했습니다(3개월 선형 분배). +- **행동:** 100만 $XNY 상금 풀로 에어드랍 시즌 2를 시작했습니다(3개월 선형 분배). - **새로운 프론티어:** - - **고급 물리학 문제:** 현재 AI가 정확하게 답할 수 없는 고난이도 물리학 문제를 제출할 수 있는 도메인 전문가를 위한 것입니다. + - **고급 물리학 문제:** 현재 AI가 정확하게 답변할 수 없는 고난이도 물리학 문제를 제출할 수 있는 도메인 전문가를 위한 것입니다. - **암호화폐 및 주식 정보:** AI에게 암호화폐 및 주식 투자 결정과 관련된 신뢰할 수 있는 정보를 제공합니다. - - **실제 사진:** 주석이 달린 메타데이터를 포함한 실제 사진을 AI에 제공합니다. + - **실제 사진:** 주석이 달린 메타데이터를 포함한 실제 사진을 AI에게 제공합니다. - **보상 구조:** 작업 완료에 대해 90%, 리더보드 순위에 대해 10%. -- **일정:** 2025년 11월 24일 09:00 UTC – 2025년 12월 8일 09:00 UTC. +- **일정:** 2025년 11월 24일 09:00 UTC – 2025년 12월 08일 09:00 UTC.
@@ -126,10 +127,10 @@ import { useState, useEffect } from 'react';
-탈중앙화 식별자(DID)에 계정을 연결할 수 있는 기본 업그레이드입니다. +탈중앙화 식별자(DID)와 계정 바인딩을 가능하게 하는 기본 업그레이드입니다. -- **연결:** Codatta에 다음 로그인 시 온체인 DID의 셀프 서비스 통합. -- **연관:** 연결된 DID는 모든 작업 행동, 데이터 기여 및 보상 분배를 체계적으로 인덱싱하는 통합 기본 키 역할을 합니다. +- **바인딩:** 다음 Codatta 로그인 시 온체인 DID의 셀프 서비스 통합. +- **연관:** 바인딩된 DID는 통합된 기본 키 역할을 하여 모든 작업 행동, 데이터 기여 및 보상 분배를 체계적으로 인덱싱합니다. - **계보:** 온체인 및 오프체인 활동의 완전한 추적 가능성과 검증을 가능하게 하여 불변의 데이터 출처를 확립합니다. 이 배포는 검증 가능한 데이터 경제를 위한 기술적 초석을 마련합니다. 각 기여자에게 지속적이고 고유한 디지털 정체성을 제공함으로써 세분화된 기여 귀속, 명확한 소유권 검증 및 프로토콜 수준에서의 투명한 인센티브 할당을 가능하게 합니다. @@ -140,7 +141,7 @@ import { useState, useEffect } from 'react'; ## 2025년 11월 03일 --- -**퀘스트 시스템 조정: 암호화폐 프론티어 QUEST 모듈 사용 중지** +**퀘스트 시스템 조정: 암호화폐 프론티어 QUEST 모듈 비활성화**
@@ -148,8 +149,8 @@ import { useState, useEffect } from 'react'; 암호화폐 프론티어 QUEST 모듈과 모든 관련 작업(제출, 검증 및 보상 사냥 포함)이 오프라인 상태로 전환되었습니다. -- **이유:** 이 모듈은 현재 제품 로드맵에 따라 계획된 생애 주기를 완료했습니다. 사용 중지는 시스템 간소화 및 향후 기능 출시를 위한 자원 재조정을 지원합니다. -- **참고:** 사용자의 과거 기여 기록과 이 모듈에서 얻은 보상은 그대로 유지됩니다. 이 변경 사항은 다른 프론티어 모듈에는 영향을 미치지 않습니다. +- **이유:** 이 모듈은 현재 제품 로드맵에 따라 계획된 생애 주기를 완료했습니다. 비활성화는 시스템 간소화 및 향후 기능 출시를 위한 자원 재조정을 지원합니다. +- **참고:** 사용자의 이력 기여 기록 및 이 모듈에서 획득한 보상은 그대로 유지됩니다. 다른 프론티어 모듈에는 이 변경 사항이 영향을 미치지 않습니다.
@@ -157,16 +158,16 @@ import { useState, useEffect } from 'react'; ## 2025년 10월 24일 --- -**프론티어 시스템 조정: 로보틱스 프론티어 사용 중지** +**프론티어 시스템 조정: 로보틱스 프론티어 비활성화**
-로보틱스 프론티어가 공식적으로 사용 중지되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 과거 기여 데이터는 그대로 유지되며 접근 가능합니다. +로보틱스 프론티어가 공식적으로 비활성화되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 이력 기여 데이터는 그대로 유지되며 접근 가능합니다. -- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 프론티어에 집중하기 위한 지속적인 제품 간소화의 일환입니다. 로보틱스 프론티어는 계획된 탐색 단계를 완료하였으며, 사용 중지는 우리의 노력을 통합할 수 있게 합니다. -- **참고:** 사용자의 과거 기여 및 로보틱스 프론티어에서의 보상은 보존되며 기여 기록에서 검토할 수 있습니다. 다른 프론티어나 플랫폼 기능에는 영향을 미치지 않습니다. +- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 프론티어에 집중하기 위한 지속적인 제품 간소화의 일환입니다. 로보틱스 프론티어는 계획된 탐색 단계를 완료하였으며, 비활성화는 노력을 통합할 수 있게 합니다. +- **참고:** 사용자의 과거 기여 및 로보틱스 프론티어에서의 보상은 보존되며 기여 이력에서 검토할 수 있습니다. 다른 프론티어나 플랫폼 기능에는 영향을 미치지 않습니다.
@@ -191,16 +192,16 @@ import { useState, useEffect } from 'react'; ## 2025년 10월 20일 --- -**프론티어 시스템 조정: 암호화폐 프론티어 사용 중지** +**프론티어 시스템 조정: 암호화폐 프론티어 비활성화**
-암호화폐 프론티어가 공식적으로 사용 중지되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 과거 기여 데이터는 그대로 유지되며 접근 가능합니다. +암호화폐 프론티어가 공식적으로 비활성화되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 이력 기여 데이터는 그대로 유지되며 접근 가능합니다. -- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 프론티어에 집중하기 위한 지속적인 제품 간소화의 일환입니다. 암호화폐 프론티어는 계획된 탐색 단계를 완료하였으며, 사용 중지는 우리의 노력을 통합할 수 있게 합니다. -- **참고:** 사용자의 과거 기여 및 암호화폐 프론티어에서의 보상은 보존되며 기여 기록에서 검토할 수 있습니다. 다른 프론티어나 플랫폼 기능에는 영향을 미치지 않습니다. +- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 프론티어에 집중하기 위한 지속적인 제품 간소화의 일환입니다. 암호화폐 프론티어는 계획된 탐색 단계를 완료하였으며, 비활성화는 노력을 통합할 수 있게 합니다. +- **참고:** 사용자의 과거 기여 및 암호화폐 프론티어에서의 보상은 보존되며 기여 이력에서 검토할 수 있습니다. 다른 프론티어나 플랫폼 기능에는 영향을 미치지 않습니다.
@@ -225,22 +226,22 @@ import { useState, useEffect } from 'react'; ## 2025년 10월 13일 --- -**캠페인 시작: 에어드롭 시즌 1** +**캠페인 시작: 에어드랍 시즌 1**
-고보상 메커니즘과 스팸 방지 강화를 통해 고품질의 구조화된 데이터를 체계적으로 수집하고, 유효성과 학술 가치를 보장하며, 장기 기여자에게 보상하고 플랫폼의 데이터 생태계를 다각화하기 위해 다섯 개의 새로운 프론티어 모듈을 도입합니다. +고보상 메커니즘과 스팸 방지 시행을 통해 고품질의 구조화된 데이터를 체계적으로 수집하고, 유효성과 학술 가치를 보장하며, 장기 기여자에게 보상하고 플랫폼의 데이터 생태계를 다각화하기 위해 다섯 개의 새로운 프론티어 모듈을 도입합니다. -- **행동:** 250만 $XNY 상금 풀과 포인트 보상으로 에어드롭 시즌 1을 시작했습니다. +- **행동:** 250만 $XNY 상금 풀과 포인트 보상으로 에어드랍 시즌 1을 시작했습니다. - **새로운 프론티어:** - - **모델 비교:** 다양한 AI 모델 간의 성능 지표와 비즈니스 결과를 비교하여 최적의 솔루션이나 하이브리드 솔루션을 식별합니다. + - **모델 비교:** 다양한 AI 모델 간의 성능 지표 및 비즈니스 결과를 비교하여 최적 또는 하이브리드 솔루션을 식별합니다. - **LLM의 실수 발견:** LLM 출력에서의 추론, 사실 및 논리적 오류를 식별하여 모델 최적화를 지원합니다. - **LLM의 실수 수정:** LLM이 실수에서 학습하고 자기 수정 및 추론을 개선할 수 있도록 교정 데이터를 수집합니다. - **식품 과학:** 식품 과학 및 영양 기능에 대한 연구 데이터를 수집하여 이 분야의 혁신을 촉진합니다. - **라이프로그 캔버스:** 개인 행동 및 건강 관련 데이터를 추적하고 기록하여 행동 및 관련 연구를 지원합니다. -- **보상 구조:** 제출 평가에 따라 보상이 순위가 매겨지고 캠페인 후 분배됩니다. 악의적인 제출은 데이터 품질을 보장하기 위해 처벌됩니다. +- **보상 구조:** 보상은 제출 평가에 따라 순위가 매겨지고 캠페인 후 분배됩니다. 악의적인 제출은 데이터 품질을 보장하기 위해 처벌됩니다. - **일정:** 2025년 10월 13일 09:00 UTC - 2025년 10월 27일 09:00 UTC.
@@ -257,8 +258,9 @@ import { useState, useEffect } from 'react'; 프론티어를 위한 구성 가능한 보상 활동이 제공되어 추가적인 고부가가치 인센티브를 제공합니다. -- **방법:** 선택된 프론티어 작업은 기본 포인트와 무관하게 $XNY 또는 USDT로 추가 보상을 제공합니다. 활동 매개변수(보상 금액, 지속 시간, 목표)는 각 프론티어별로 설정되며 각각의 홈페이지에 표시됩니다. -- **목적:** 타겟팅된 인센티브를 통해 고부가가치 데이터 작업에 대한 더 깊은 참여를 유도하여 데이터 품질과 생태계 참여를 모두 개선하기 위함입니다. +```html +- **방법:** 선택된 Frontier 작업은 기본 포인트와는 독립적으로 $XNY 또는 USDT로 추가 보상을 제공합니다. 활동 매개변수(보상 금액, 기간, 목표)는 각 Frontier에 따라 설정되며 해당 홈페이지에 표시됩니다. +- **이유:** 목표 지향적인 인센티브를 통해 고부가가치 데이터 작업에 대한 참여를 촉진하고, 데이터 품질과 생태계 참여를 개선하기 위함입니다.
@@ -274,9 +276,9 @@ import { useState, useEffect } from 'react'; 신뢰할 수 있는 다중 도메인 데이터 수집을 통해 AI 개발을 가속화하고, 커뮤니티 주도의 분산형 AI 지식 구축을 촉진합니다. -- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). -- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 9월 26일 07:00 UTC – 2025년 10월 3일 07:00 UTC. +- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 09월 26일 07:00 UTC – 2025년 10월 03일 07:00 UTC.
@@ -292,9 +294,9 @@ import { useState, useEffect } from 'react'; AI 훈련 및 검증을 위해 생명, 로봇 공학, 암호화폐, 모델 비교 및 지문 검증에 걸친 교차 도메인 데이터를 수집합니다. -- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). -- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 9월 12일 07:00 UTC – 2025년 9월 19일 07:00 UTC. +- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 09월 12일 07:00 UTC – 2025년 09월 19일 07:00 UTC.
@@ -310,9 +312,9 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학, 암호화폐, 모델 비 AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 교차 도메인 데이터를 수집하고 주석을 달기 위해 진행됩니다. -- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). -- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 9월 5일 07:00 UTC – 2025년 9월 12일 07:00 UTC. +- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 09월 05일 07:00 UTC – 2025년 09월 12일 07:00 UTC.
@@ -328,8 +330,8 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 사용자 정보 모듈 내에 새로운 데이터 프로필 기능을 도입합니다. -- **접근 방법:** 사용자 정보 > 데이터 프로필을 통해 총 제출 수, 획득한 보상 및 기여 통계를 시각적 대시보드에서 확인할 수 있습니다. -- **목적:** 기여에 대한 투명성을 제공하고, 가시적인 진행 상황 추적을 통해 참여를 강화하며, 장기적인 참여를 지원합니다. +- **방법:** 사용자 정보 > 데이터 프로필을 통해 총 제출 수, 획득한 보상 및 기여 통계를 시각적 대시보드에서 확인할 수 있습니다. +- **이유:** 기여에 대한 투명성을 제공하고, 가시적인 진행 상황 추적을 통해 참여를 강화하며, 장기적인 참여를 지원하기 위함입니다.
@@ -343,11 +345,11 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친
-분산형 AI 훈련을 위해 생명, 로봇 공학 및 암호화폐에 걸친 교차 도메인 주석 데이터의 기초를 마련합니다. +분산형 AI 훈련을 위해 생명, 로봇 공학 및 암호화폐에 걸친 주석이 달린 데이터의 기초를 마련합니다. -- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). -- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 8월 22일 07:00 UTC – 2025년 8월 29일 07:00 UTC. +- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 08월 22일 07:00 UTC – 2025년 08월 29일 07:00 UTC. @@ -363,9 +365,9 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 분산형 AI 훈련을 위해 음식 AI, 로봇 상호작용 및 CEX 온체인 데이터에 대한 도메인별 데이터 세트를 체계적으로 주석 달고 확장합니다. -- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). -- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 8월 15일 07:00 UTC – 2025년 8월 22일 07:00 UTC. +- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 08월 15일 07:00 UTC – 2025년 08월 22일 07:00 UTC. @@ -381,9 +383,9 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 프로젝트 학습, 음식 AI 판단, 로봇 주석 및 CEX 데이터 확장을 포함한 네 가지 주요 영역에서 주석이 달린 데이터를 체계적으로 수집합니다. -- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). -- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 8월 8일 07:00 UTC – 2025년 8월 15일 07:00 UTC. +- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 08월 08일 07:00 UTC – 2025년 08월 15일 07:00 UTC. @@ -399,9 +401,9 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 라벨링을 포함한 세 가지 핵심 도메인에서 주석이 달린 데이터를 수집합니다. -- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). -- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 8월 1일 07:00 UTC – 2025년 8월 8일 07:00 UTC. +- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 08월 01일 07:00 UTC – 2025년 08월 08일 07:00 UTC. @@ -417,9 +419,9 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 주석이 달린 실제 상호작용 데이터를 통해 AI 음식 분석을 검증하고 로봇 훈련을 향상시킵니다. -- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). -- **보상:** 총 보상 풀 50,000,000 $XNY (잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 7월 24일 07:00 UTC – 2025년 7월 31일 07:00 UTC. +- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. +- **일정:** 2025년 07월 24일 07:00 UTC – 2025년 07월 31일 07:00 UTC. @@ -435,9 +437,9 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 무게, 조리 방법 및 칼로리 함량을 포함한 풍부한 주석을 수집하여 AI의 음식 이해를 심화합니다. -- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY, 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 7월 16일 13:00 UTC – 2025년 7월 23일 13:00 UTC. +- **일정:** 2025년 07월 16일 13:00 UTC – 2025년 07월 23일 13:00 UTC. @@ -451,11 +453,11 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터
-문화적 및 맥락적 관련성을 넘어 단순한 라벨을 넘어서는 주석이 달린 즉석 식품 이미지를 수집하여 AI에게 인간의 식습관에 대한 미묘한 이해를 가르칩니다. +문화적 및 맥락적 관련성을 넘어 단순한 라벨을 넘어서, 즉석 식품의 주석이 달린 이미지를 수집하여 AI에게 인간의 식습관에 대한 미세한 이해를 가르칩니다. -- **접근 방법:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha 포인트 ≥ 61 필요). +- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY, 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 7월 9일 13:00 UTC – 2025년 7월 16일 13:00 UTC. +- **일정:** 2025년 07월 09일 13:00 UTC – 2025년 07월 16일 13:00 UTC. @@ -471,10 +473,11 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 퀘스트 시스템이 완전히 복원되어 재개되었습니다. -- **접근 방법:** 2025년 6월 30일에 일시적으로 오프라인 상태였으며, 현재는 종합적으로 복원되었습니다. -- **목적:** 아키텍처 업그레이드를 통해 시스템 안정성과 사용자 경험을 향상시키기 위함입니다. +- **방법:** 2025년 06월 30일에 일시적으로 오프라인 되었으며, 현재 포괄적으로 복원되었습니다. +- **이유:** 아키텍처 업그레이드를 통해 시스템 안정성과 사용자 경험을 향상시키기 위함입니다. +```
@@ -486,11 +489,11 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터
-채식, 비채식, 혼합 카테고리 전반에 걸쳐 세밀한 이미지 라벨링을 통해 AI의 글로벌 음식 문화 및 선호도 이해를 확장하기 위함입니다. +채식, 비채식 및 혼합 카테고리 전반에 걸쳐 세밀한 이미지 라벨링을 통해 AI의 글로벌 음식 문화 및 선호도 이해를 확장하기 위함입니다. -- **접근 방법:** Binance Wallet 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (알파 포인트 ≥ 61). +- **접근:** Binance Wallet 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (알파 포인트 ≥ 61). - **보상:** 총 50,000,000 $XNY의 보상 풀, 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 7월 2일 13:00 UTC – 2025년 7월 9일 13:00 UTC. +- **일정:** 2025년 07월 02일 13:00 UTC – 2025년 07월 09일 13:00 UTC.
@@ -504,15 +507,13 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터
-주석이 달린 음식 데이터를 수집하고, 퀴즈를 통해 커뮤니티의 지식을 활용하며, 다단계 인센티브 구조를 통해 참여를 보상함으로써 첫 번째 시즌을 시작하기 위함입니다. +주석이 달린 음식 데이터를 수집하고, 퀴즈를 통해 커뮤니티 지식을 활용하며, 다단계 인센티브 구조를 통해 참여를 보상함으로써 첫 번째 시즌을 시작하기 위함입니다. -- **접근 방법:** Binance Wallet 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (알파 포인트 ≥ 61). +- **접근:** Binance Wallet 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (알파 포인트 ≥ 61). - **보상:** 총 50,000,000 $XNY의 보상 풀, 작업 완료 및 검증 후 분배됩니다. -- **일정:** 2025년 6월 25일 13:00 UTC – 2025년 7월 2일 13:00 UTC. - - +- **일정:** 2025년 06월 25일 13:00 UTC – 2025년 07월 02일 13:00 UTC. -{/* Component definitions - moved to end of file for cleaner code organization */} +{/* Component definitions - moved to end of file for cleaner code organization */} export const ChangelogFilter = () => { const [activeFilter, setActiveFilter] = useState('all'); const [isOpen, setIsOpen] = useState(false); @@ -538,11 +539,11 @@ export const ChangelogFilter = () => { }, [activeFilter]); const filterTypes = [ - { id: 'all', label: '전체', color: '#6b7280', count: 24 }, - { id: 'core-feature', label: '핵심 기능 출시', color: '#16A34A', count: 4 }, - { id: 'optimization', label: '조정 및 최적화', color: '#F59E0B', count: 3 }, - { id: 'fixes', label: '수정 및 기능 종료', color: '#EF4444', count: 3 }, - { id: 'campaign', label: '캠페인 시작', color: '#A855F7', count: 14 } + { id: 'all', label: 'All', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, + { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, + { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } ]; const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; @@ -714,14 +715,14 @@ export const MonthFilter = () => { }, [activeMonth]); const months = [ - { id: 'all', label: '전체 월', count: 24 }, - { id: 'dec', label: '12월', count: 1 }, - { id: 'nov', label: '11월', count: 3 }, - { id: 'oct', label: '10월', count: 6 }, - { id: 'sep', label: '9월', count: 3 }, - { id: 'aug', label: '8월', count: 5 }, - { id: 'jul', label: '7월', count: 5 }, - { id: 'jun', label: '6월', count: 1 } + { id: 'all', label: 'All Months', count: 24 }, + { id: 'dec', label: 'December', count: 1 }, + { id: 'nov', label: 'November', count: 3 }, + { id: 'oct', label: 'October', count: 6 }, + { id: 'sep', label: 'September', count: 3 }, + { id: 'aug', label: 'August', count: 5 }, + { id: 'jul', label: 'July', count: 5 }, + { id: 'jun', label: 'June', count: 1 } ]; const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; From b7232fcd3c3632acc798ee7a736faabce103d221 Mon Sep 17 00:00:00 2001 From: Joel Date: Sun, 4 Jan 2026 20:22:01 +0800 Subject: [PATCH 5/9] Fix: Update translation prompts and correct proper nouns in Chinese changelog - Enhanced translation prompts with automatic proper noun recognition - Fixed proper nouns: Model Comparison, Spot LLM's Mistakes, Correct LLM's Mistakes, Food Science, Lifelog Canvas, Crypto Frontier, Robotics Frontier - Keep proper nouns in English when used as product/module names - Translate descriptive terms (e.g., 'model comparison' in lowercase) to Chinese - Updated both Chinese and Korean translation prompts --- cn/changelog/2025.mdx | 30 +++++++++++++++--------------- translate.js | 4 ++-- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/cn/changelog/2025.mdx b/cn/changelog/2025.mdx index edeac2d..9b5673e 100644 --- a/cn/changelog/2025.mdx +++ b/cn/changelog/2025.mdx @@ -141,13 +141,13 @@ import { useState, useEffect } from 'react'; ## 2025 年 11 月 03 日 --- -**任务系统调整:加密 Frontier QUEST 模块停用** +**任务系统调整:Crypto Frontier QUEST 模块停用**
-整个加密 Frontier QUEST 模块及所有相关任务——包括提交、验证和赏金猎人——已下线。 +整个 Crypto Frontier QUEST 模块及所有相关任务——包括提交、验证和赏金猎人——已下线。 - **原因:** 该模块已完成当前产品路线图下的计划生命周期。停用支持系统精简和资源重新配置,以便于即将发布的新功能。 - **注意:** 用户在该模块的历史贡献记录和获得的奖励保持不变。此更改不影响其他 Frontier 模块。 @@ -158,16 +158,16 @@ import { useState, useEffect } from 'react'; ## 2025 年 10 月 24 日 --- -**Frontier 系统调整:机器人 Frontier 停用** +**Frontier 系统调整:Robotics Frontier 停用**
-机器人 Frontier 已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 +Robotics Frontier 已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 -- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃 Frontier 上。机器人 Frontier 已完成其计划的探索阶段,停用使我们能够整合努力。 -- **注意:** 用户在机器人 Frontier 的过去贡献和奖励被保留,并可在其贡献历史中查看。其他 Frontier 或平台功能不受影响。 +- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃 Frontier 上。Robotics Frontier 已完成其计划的探索阶段,停用使我们能够整合努力。 +- **注意:** 用户在 Robotics Frontier 的过去贡献和奖励被保留,并可在其贡献历史中查看。其他 Frontier 或平台功能不受影响。 @@ -192,16 +192,16 @@ import { useState, useEffect } from 'react'; ## 2025 年 10 月 20 日 --- -**Frontier 系统调整:加密 Frontier 停用** +**Frontier 系统调整:Crypto Frontier 停用**
-加密 Frontier 已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 +Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 -- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃 Frontier 上。加密 Frontier 已完成其计划的探索阶段,停用使我们能够整合努力。 -- **注意:** 用户在加密 Frontier 的过去贡献和奖励被保留,并可在其贡献历史中查看。其他 Frontier 或平台功能不受影响。 +- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃 Frontier 上。Crypto Frontier 已完成其计划的探索阶段,停用使我们能够整合努力。 +- **注意:** 用户在 Crypto Frontier 的过去贡献和奖励被保留,并可在其贡献历史中查看。其他 Frontier 或平台功能不受影响。 @@ -236,11 +236,11 @@ import { useState, useEffect } from 'react'; - **操作:** 启动空投第一季,奖金池为 250 万 $XNY 和积分奖励。 - **新 Frontier:** - - **模型比较:** 比较不同 AI 模型的性能指标和商业结果,以识别最佳或混合解决方案。 - - **识别 LLM 错误:** 识别 LLM 输出中的推理、事实和逻辑错误,以支持模型优化。 - - **纠正 LLM 错误:** 收集纠正数据,帮助 LLM 从错误中学习,提高自我纠正和推理能力。 - - **食品科学:** 收集食品科学和营养功能的研究数据,以推动该领域的创新。 - - **生活记录画布:** 跟踪和记录个人行为和健康相关数据,以支持行为及相关研究。 + - **Model Comparison:** 比较不同 AI 模型的性能指标和商业结果,以识别最佳或混合解决方案。 + - **Spot LLM's Mistakes:** 识别 LLM 输出中的推理、事实和逻辑错误,以支持模型优化。 + - **Correct LLM's Mistakes:** 收集纠正数据,帮助 LLM 从错误中学习,提高自我纠正和推理能力。 + - **Food Science:** 收集食品科学和营养功能的研究数据,以推动该领域的创新。 + - **Lifelog Canvas:** 跟踪和记录个人行为和健康相关数据,以支持行为及相关研究。 - **奖励结构:** 奖励根据提交评分排名,并在活动结束后分配。恶意提交将受到惩罚,以确保数据质量。 - **活动时间:** 2025 年 10 月 13 日 09:00 UTC - 2025 年 10 月 27 日 09:00 UTC。 diff --git a/translate.js b/translate.js index 9e833b6..d803f3f 100644 --- a/translate.js +++ b/translate.js @@ -11,13 +11,13 @@ const TARGET_LANGS = [ code: "cn", name: "Chinese", systemPrompt: - "请将以下英文 changelog 按中文语境重写一下,要求:1. 只翻译纯文本部分,忽略任何 HTML 标签、代码块、表格、特殊格式(如代码行、列)等,看着像代码也保留不动。2. 保留原有 HTML 标签和结构,不要修改格式。3. 保证翻译内容准确。4.小标题的单词也要翻译,日期也要翻译,但必须遵循统一的日期格式。5.不要直译,要理解英文原文的语义,然后用符合中文语言习惯的自然方式重新表述。例如:'action' 不应直译为'行动',而应根据上下文用更自然的中文表达(如'操作'、'动作'等)。6.以下术语和表达必须固定使用,不要翻译:- 'Frontier' 和 'Frontiers' 是产品名,保持英文不翻译;- 'Lineage' 翻译为'血缘'(因为我们有产品叫 Data Lineage 数据血缘);- 小要点中的 'How' 不要翻译成'如何',统一翻译为'运作方式';- 'Timeline' 不要翻译成'时间表'、'时间安排',统一翻译为'活动时间';- 'Access' 不要翻译成'访问'、'访问方式',统一翻译为'参与方式';- 'Lock' 统一翻译为'锁仓'。7.日期格式必须严格统一为:'2025 年 12 月 04 日'格式(汉字和数字之间必须保留 1 个空格,年份、月份、日期都是两位数,月份和日期不足两位要补零,例如:'2025 年 09 月 05 日'、'2025 年 06 月 25 日')。所有日期标题(如 '## Dec 04, 2025')必须翻译为 '## 2025 年 12 月 04 日' 格式。确保翻译后的中文读起来自然流畅,符合中文表达习惯。", + "请将以下英文 changelog 按中文语境重写一下,要求:1. 只翻译纯文本部分,忽略任何 HTML 标签、代码块、表格、特殊格式(如代码行、列)等,看着像代码也保留不动。2. 保留原有 HTML 标签和结构,不要修改格式。3. 保证翻译内容准确。4.小标题的单词也要翻译,日期也要翻译,但必须遵循统一的日期格式。5.不要直译,要理解英文原文的语义,然后用符合中文语言习惯的自然方式重新表述。例如:'action' 不应直译为'行动',而应根据上下文用更自然的中文表达(如'操作'、'动作'等)。6.专有名词识别规则:- 自动识别首字母大写的专有名词(如产品名、模块名、功能名等),这些通常应保持英文不翻译;- 特别地,以下术语和表达必须固定使用,不要翻译:- 'Frontier' 和 'Frontiers' 是产品名,保持英文不翻译;- 'Crypto Frontier'、'Crypto Frontier QUEST'、'Robotics Frontier' 是专有名词,保持英文不翻译;- 'Model Comparison'、'Spot LLM's Mistakes'、'Correct LLM's Mistakes'、'Food Science'、'Lifelog Canvas' 是专有名词,保持英文不翻译;- 'Lineage' 翻译为'血缘'(因为我们有产品叫 Data Lineage 数据血缘);- 小要点中的 'How' 不要翻译成'如何',统一翻译为'运作方式';- 'Timeline' 不要翻译成'时间表'、'时间安排',统一翻译为'活动时间';- 'Access' 不要翻译成'访问'、'访问方式',统一翻译为'参与方式';- 'Lock' 统一翻译为'锁仓'。7.日期格式必须严格统一为:'2025 年 12 月 04 日'格式(汉字和数字之间必须保留 1 个空格,年份、月份、日期都是两位数,月份和日期不足两位要补零,例如:'2025 年 09 月 05 日'、'2025 年 06 月 25 日')。所有日期标题(如 '## Dec 04, 2025')必须翻译为 '## 2025 年 12 月 04 日' 格式。确保翻译后的中文读起来自然流畅,符合中文表达习惯。", }, { code: "ko", name: "Korean", systemPrompt: - "다음 영어 changelog 를 한국어 문맥에 맞게 재작성해 주세요. 다음 요구사항을 엄격히 준수하세요: 1. 텍스트 내용만 번역하고, HTML 태그, 코드 블록, 표, 특수 형식(예: 코드 행, 열 등) 등은 무시하고, 코드로 보이는 모든 내용은 그대로 유지하세요. 2. 원본 HTML 태그와 구조를 유지하고, 형식을 수정하지 마세요. 3. 번역 내용의 정확성을 보장하세요. 4. 소제목의 단어도 반드시 번역하세요. 날짜도 번역해야 하며, 반드시 통일된 날짜 형식을 따라야 합니다. 5. 직역하지 말고, 영어 원문의 의미를 이해한 후 한국어 언어 습관에 맞는 자연스러운 방식으로 재표현하세요. 예를 들어, 'action'을 단순히 '행동'으로 직역하지 말고, 문맥에 따라 더 자연스러운 한국어 표현을 사용하세요. 6. 날짜 형식은 반드시 '2025년 12월 04일' 형식으로 통일하세요(년, 월, 일은 모두 두 자리 숫자이며, 월과 일이 한 자리인 경우 앞에 0을 붙여야 합니다. 예: '2025년 09월 05일', '2025년 06월 25일'). 모든 날짜 제목(예: '## Dec 04, 2025')은 '## 2025년 12월 04일' 형식으로 번역해야 합니다. 번역된 한국어가 자연스럽고 유창하게 읽히도록 한국어 표현 습관에 맞게 작성하세요.", + "다음 영어 changelog 를 한국어 문맥에 맞게 재작성해 주세요. 다음 요구사항을 엄격히 준수하세요: 1. 텍스트 내용만 번역하고, HTML 태그, 코드 블록, 표, 특수 형식(예: 코드 행, 열 등) 등은 무시하고, 코드로 보이는 모든 내용은 그대로 유지하세요. 2. 원본 HTML 태그와 구조를 유지하고, 형식을 수정하지 마세요. 3. 번역 내용의 정확성을 보장하세요. 4. 소제목의 단어도 반드시 번역하세요. 날짜도 번역해야 하며, 반드시 통일된 날짜 형식을 따라야 합니다. 5. 직역하지 말고, 영어 원문의 의미를 이해한 후 한국어 언어 습관에 맞는 자연스러운 방식으로 재표현하세요. 예를 들어, 'action'을 단순히 '행동'으로 직역하지 말고, 문맥에 따라 더 자연스러운 한국어 표현을 사용하세요. 6. 고유명사 식별 규칙: - 대문자로 시작하는 고유명사(예: 제품명, 모듈명, 기능명 등)를 자동으로 식별하고, 이러한 용어는 일반적으로 영어로 유지하고 번역하지 마세요. - 특히 다음 용어와 표현은 고정적으로 사용해야 하며 번역하지 마세요: - 'Frontier'와 'Frontiers'는 제품명이므로 영어로 유지하세요. - 'Crypto Frontier', 'Crypto Frontier QUEST', 'Robotics Frontier'는 고유명사이므로 영어로 유지하세요. - 'Model Comparison', 'Spot LLM's Mistakes', 'Correct LLM's Mistakes', 'Food Science', 'Lifelog Canvas'는 고유명사이므로 영어로 유지하세요. 7. 날짜 형식은 반드시 '2025년 12월 04일' 형식으로 통일하세요(년, 월, 일은 모두 두 자리 숫자이며, 월과 일이 한 자리인 경우 앞에 0을 붙여야 합니다. 예: '2025년 09월 05일', '2025년 06월 25일'). 모든 날짜 제목(예: '## Dec 04, 2025')은 '## 2025년 12월 04일' 형식으로 번역해야 합니다. 번역된 한국어가 자연스럽고 유창하게 읽히도록 한국어 표현 습관에 맞게 작성하세요.", }, ]; From 115ca7c5c6e4d2668a0697009178022ae713f7be Mon Sep 17 00:00:00 2001 From: Joel Date: Sun, 4 Jan 2026 20:41:27 +0800 Subject: [PATCH 6/9] Fix: Correct front matter, result text, and filter labels in Chinese and Korean changelogs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fixed Chinese front matter: title and description now in Chinese - Fixed Korean front matter: title and description now in Korean - Fixed result text: '条结果' for Chinese, '개 결과' for Korean - Fixed filter labels: translated all filter types and month names - Removed erroneous code block markers in Korean changelog that caused parsing errors --- cn/changelog/2025.mdx | 32 ++++++++++++++++---------------- ko/changelog/2025.mdx | 34 ++++++++++++++++------------------ 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/cn/changelog/2025.mdx b/cn/changelog/2025.mdx index 9b5673e..b68a21b 100644 --- a/cn/changelog/2025.mdx +++ b/cn/changelog/2025.mdx @@ -1,6 +1,6 @@ --- -title: "Changelog" -description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." +title: "变更日志" +description: "本文档记录了 Codatta 在 2025 年的所有更新、修复和新功能。" --- import { useState, useEffect } from 'react'; @@ -67,7 +67,7 @@ import { useState, useEffect } from 'react'; flexShrink: 0 }}> {num} - result{num !== 1 ? 's' : ''} + 条结果 ); }; @@ -537,11 +537,11 @@ export const ChangelogFilter = () => { }, [activeFilter]); const filterTypes = [ - { id: 'all', label: 'All', color: '#6b7280', count: 24 }, - { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, - { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, - { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, - { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } + { id: 'all', label: '全部', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: '核心功能发布', color: '#16A34A', count: 4 }, + { id: 'optimization', label: '调整与优化', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: '修复与功能下线', color: '#EF4444', count: 3 }, + { id: 'campaign', label: '活动启动', color: '#A855F7', count: 14 } ]; const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; @@ -713,14 +713,14 @@ export const MonthFilter = () => { }, [activeMonth]); const months = [ - { id: 'all', label: 'All Months', count: 24 }, - { id: 'dec', label: 'December', count: 1 }, - { id: 'nov', label: 'November', count: 3 }, - { id: 'oct', label: 'October', count: 6 }, - { id: 'sep', label: 'September', count: 3 }, - { id: 'aug', label: 'August', count: 5 }, - { id: 'jul', label: 'July', count: 5 }, - { id: 'jun', label: 'June', count: 1 } + { id: 'all', label: '全部月份', count: 24 }, + { id: 'dec', label: '十二月', count: 1 }, + { id: 'nov', label: '十一月', count: 3 }, + { id: 'oct', label: '十月', count: 6 }, + { id: 'sep', label: '九月', count: 3 }, + { id: 'aug', label: '八月', count: 5 }, + { id: 'jul', label: '七月', count: 5 }, + { id: 'jun', label: '六月', count: 1 } ]; const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; diff --git a/ko/changelog/2025.mdx b/ko/changelog/2025.mdx index d7a77de..e6f3de7 100644 --- a/ko/changelog/2025.mdx +++ b/ko/changelog/2025.mdx @@ -1,6 +1,6 @@ --- -title: "Changelog" -description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." +title: "변경 로그" +description: "이 변경 로그는 2025년 Codatta의 모든 업데이트, 수정 및 새로운 기능을 문서화합니다." --- import { useState, useEffect } from 'react'; @@ -67,7 +67,7 @@ import { useState, useEffect } from 'react'; flexShrink: 0 }}> {num} - result{num !== 1 ? 's' : ''} + 개 결과 ); }; @@ -258,7 +258,6 @@ import { useState, useEffect } from 'react'; 프론티어를 위한 구성 가능한 보상 활동이 제공되어 추가적인 고부가가치 인센티브를 제공합니다. -```html - **방법:** 선택된 Frontier 작업은 기본 포인트와는 독립적으로 $XNY 또는 USDT로 추가 보상을 제공합니다. 활동 매개변수(보상 금액, 기간, 목표)는 각 Frontier에 따라 설정되며 해당 홈페이지에 표시됩니다. - **이유:** 목표 지향적인 인센티브를 통해 고부가가치 데이터 작업에 대한 참여를 촉진하고, 데이터 품질과 생태계 참여를 개선하기 위함입니다. @@ -477,7 +476,6 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 - **이유:** 아키텍처 업그레이드를 통해 시스템 안정성과 사용자 경험을 향상시키기 위함입니다. -```
@@ -539,11 +537,11 @@ export const ChangelogFilter = () => { }, [activeFilter]); const filterTypes = [ - { id: 'all', label: 'All', color: '#6b7280', count: 24 }, - { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, - { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, - { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, - { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } + { id: 'all', label: '전체', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: '핵심 기능 출시', color: '#16A34A', count: 4 }, + { id: 'optimization', label: '조정 및 최적화', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: '수정 및 기능 종료', color: '#EF4444', count: 3 }, + { id: 'campaign', label: '캠페인 시작', color: '#A855F7', count: 14 } ]; const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; @@ -715,14 +713,14 @@ export const MonthFilter = () => { }, [activeMonth]); const months = [ - { id: 'all', label: 'All Months', count: 24 }, - { id: 'dec', label: 'December', count: 1 }, - { id: 'nov', label: 'November', count: 3 }, - { id: 'oct', label: 'October', count: 6 }, - { id: 'sep', label: 'September', count: 3 }, - { id: 'aug', label: 'August', count: 5 }, - { id: 'jul', label: 'July', count: 5 }, - { id: 'jun', label: 'June', count: 1 } + { id: 'all', label: '전체', count: 24 }, + { id: 'dec', label: '12월', count: 1 }, + { id: 'nov', label: '11월', count: 3 }, + { id: 'oct', label: '10월', count: 6 }, + { id: 'sep', label: '9월', count: 3 }, + { id: 'aug', label: '8월', count: 5 }, + { id: 'jul', label: '7월', count: 5 }, + { id: 'jun', label: '6월', count: 1 } ]; const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; From 8d5ae12c9655339ce6f9e03280ad1e754ae65d44 Mon Sep 17 00:00:00 2001 From: github-actions Date: Sun, 4 Jan 2026 12:46:04 +0000 Subject: [PATCH 7/9] chore: auto translate (20260104-124604) --- cn/changelog/2025.mdx | 130 +++++++++++++++++----------------- ko/changelog/2025.mdx | 160 +++++++++++++++++++++--------------------- 2 files changed, 146 insertions(+), 144 deletions(-) diff --git a/cn/changelog/2025.mdx b/cn/changelog/2025.mdx index b68a21b..54882a3 100644 --- a/cn/changelog/2025.mdx +++ b/cn/changelog/2025.mdx @@ -1,6 +1,6 @@ --- -title: "变更日志" -description: "本文档记录了 Codatta 在 2025 年的所有更新、修复和新功能。" +title: "Changelog" +description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." --- import { useState, useEffect } from 'react'; @@ -67,7 +67,7 @@ import { useState, useEffect } from 'react'; flexShrink: 0 }}> {num} - 条结果 + result{num !== 1 ? 's' : ''}
); }; @@ -79,19 +79,19 @@ import { useState, useEffect } from 'react'; ## 2025 年 12 月 04 日 --- -**激励机制演变:长期生态管理的奖励锁仓** +**激励机制演变:长期生态系统管理的奖励锁仓**
-为高激励任务(例如,在空投或 Frontier 活动中)提供的可选锁仓功能。 +为高激励任务(例如,在 Airdrop 或 Frontier 活动中)提供的可选锁仓功能。 - **触发:** 活动结束后,奖励将存入您的余额。 - **锁仓:** 通过资产页面将奖励锁定在智能合约中以确保安全。 - **释放:** 在锁仓期结束后,您可以一键将奖励直接提取到您的钱包。 -这是我们激励系统向精细化管理演变的关键一步。它为在高奖励场景中管理流动性提供了工具,平衡了短期参与与生态系统的长期健康。 +这是我们激励系统向精细化管理演变的关键一步。它为高奖励场景中的流动性管理提供了工具,平衡了短期参与与生态系统的长期健康。 @@ -99,16 +99,16 @@ import { useState, useEffect } from 'react'; ## 2025 年 11 月 24 日 --- -**活动启动:空投第二季** +**活动启动:Airdrop 第二季**
-系统性地收集物理学、金融和多模态领域的学术级数据集,并为三个新 Frontier 启动高质量数据管道。 +系统性地收集物理学、金融和多模态领域的学术级数据集,并为三个新前沿建立高质量的数据管道。 -- **操作:** 启动空投第二季,奖金池为 100 万 $XNY(3 个月线性解锁)。 -- **新 Frontier:** +- **操作:** 启动 Airdrop 第二季,奖金池为 100 万 $XNY(3 个月线性解锁)。 +- **新前沿:** - **高级物理问题:** 供领域专家提交当前 AI 无法正确回答的高难度物理问题。 - **加密与股票信息:** 为 AI 提供与加密货币和股票投资决策相关的可靠信息。 - **现实世界照片:** 为 AI 提供包含注释元数据的现实世界照片。 @@ -127,13 +127,13 @@ import { useState, useEffect } from 'react';
-一项基础升级,使账户能够绑定到去中心化标识符(DID)。 +一项基础升级,使账户绑定到去中心化标识符(DID)。 - **绑定:** 通过下次登录 Codatta 自助集成链上 DID。 - **关联:** 绑定的 DID 作为统一主键,系统性地索引所有任务操作、数据贡献和奖励分配。 - **血缘:** 实现链上和链下活动的完全可追溯性和验证,建立不可变的数据来源。 -此部署为可验证的数据经济奠定了技术基础。通过为每位贡献者提供持久的、独特的数字身份,我们实现了精细化的贡献归属、明确的所有权验证和协议层面的透明激励分配。 +此部署为可验证的数据经济奠定了技术基础。通过为每位贡献者提供持久的、独特的数字身份,我们实现了精细的贡献归属、明确的所有权验证和透明的激励分配。 @@ -147,9 +147,9 @@ import { useState, useEffect } from 'react';
-整个 Crypto Frontier QUEST 模块及所有相关任务——包括提交、验证和赏金猎人——已下线。 +整个 Crypto Frontier QUEST 模块及所有相关任务(包括提交、验证和赏金猎人)已下线。 -- **原因:** 该模块已完成当前产品路线图下的计划生命周期。停用支持系统精简和资源重新配置,以便于即将发布的新功能。 +- **原因:** 该模块已完成当前产品路线图下的计划生命周期。停用支持系统精简和资源重新分配,以便于即将发布的新功能。 - **注意:** 用户在该模块的历史贡献记录和获得的奖励保持不变。此更改不影响其他 Frontier 模块。 @@ -166,8 +166,8 @@ import { useState, useEffect } from 'react'; Robotics Frontier 已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 -- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃 Frontier 上。Robotics Frontier 已完成其计划的探索阶段,停用使我们能够整合努力。 -- **注意:** 用户在 Robotics Frontier 的过去贡献和奖励被保留,并可在其贡献历史中查看。其他 Frontier 或平台功能不受影响。 +- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃前沿。Robotics Frontier 已完成其计划的探索阶段,停用使我们能够整合努力。 +- **注意:** 用户在 Robotics Frontier 的过去贡献和奖励被保留,并可在其贡献历史中查看。其他前沿或平台功能不受影响。 @@ -200,8 +200,8 @@ Robotics Frontier 已正式停用。此操作仅影响前端入口点。所有 Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历史贡献数据保持完整且可访问。 -- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃 Frontier 上。Crypto Frontier 已完成其计划的探索阶段,停用使我们能够整合努力。 -- **注意:** 用户在 Crypto Frontier 的过去贡献和奖励被保留,并可在其贡献历史中查看。其他 Frontier 或平台功能不受影响。 +- **原因:** 此决定是我们持续产品精简的一部分,旨在将资源和用户注意力集中在我们最高优先级的活跃前沿。Crypto Frontier 已完成其计划的探索阶段,停用使我们能够整合努力。 +- **注意:** 用户在 Crypto Frontier 的过去贡献和奖励被保留,并可在其贡献历史中查看。其他前沿或平台功能不受影响。 @@ -209,7 +209,7 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 ## 2025 年 10 月 15 日 --- -**系统治理:平台黑名单控制实施** +**系统治理:实施平台黑名单控制**
@@ -217,7 +217,7 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 平台上实施了一项新的黑名单控制功能。 -- **运作方式:** 指定管理员现在可以应用黑名单规则以限制恶意账户。 +- **运作方式:** 指定的管理员现在可以应用黑名单规则以限制恶意账户。 - **原因:** 增强平台安全性,保护贡献者利益,维护生态系统公平性。 @@ -226,21 +226,21 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 ## 2025 年 10 月 13 日 --- -**活动启动:空投第一季** +**活动启动:Airdrop 第一季**
-通过高奖励机制和反垃圾邮件执行系统性收集高质量、结构化的数据,确保有效性和学术价值,并奖励长期贡献者,丰富平台的数据生态系统,推出五个新 Frontier 模块。 +通过高奖励机制和反垃圾邮件执行系统性地收集高质量、结构化的数据,确保有效性和学术价值,并奖励长期贡献者,丰富平台的数据生态系统,推出五个新前沿模块。 -- **操作:** 启动空投第一季,奖金池为 250 万 $XNY 和积分奖励。 -- **新 Frontier:** - - **Model Comparison:** 比较不同 AI 模型的性能指标和商业结果,以识别最佳或混合解决方案。 - - **Spot LLM's Mistakes:** 识别 LLM 输出中的推理、事实和逻辑错误,以支持模型优化。 - - **Correct LLM's Mistakes:** 收集纠正数据,帮助 LLM 从错误中学习,提高自我纠正和推理能力。 - - **Food Science:** 收集食品科学和营养功能的研究数据,以推动该领域的创新。 - - **Lifelog Canvas:** 跟踪和记录个人行为和健康相关数据,以支持行为及相关研究。 +- **操作:** 启动 Airdrop 第一季,奖金池为 250 万 $XNY 和积分奖励。 +- **新前沿:** + - **模型比较:** 比较不同 AI 模型的性能指标和业务结果,以识别最佳或混合解决方案。 + - **识别 LLM 的错误:** 识别 LLM 输出中的推理、事实和逻辑错误,以支持模型优化。 + - **纠正 LLM 的错误:** 收集纠正数据,帮助 LLM 从错误中学习,提高自我纠正和推理能力。 + - **食品科学:** 收集食品科学和营养功能方面的研究数据,以推动该领域的创新。 + - **生活记录画布:** 跟踪和记录个人行为和健康相关数据,以支持行为及相关研究。 - **奖励结构:** 奖励根据提交评分排名,并在活动结束后分配。恶意提交将受到惩罚,以确保数据质量。 - **活动时间:** 2025 年 10 月 13 日 09:00 UTC - 2025 年 10 月 27 日 09:00 UTC。 @@ -250,7 +250,7 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 ## 2025 年 10 月 10 日 --- -**功能发布:Frontier 特定奖励活动** +**功能发布:特定 Frontier 的奖励活动**
@@ -258,7 +258,7 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 现在为 Frontiers 提供可配置的奖励活动,提供额外的高价值激励。 -- **运作方式:** 选定的 Frontier 任务提供额外的奖励,奖励以 $XNY 或 USDT 形式发放,与基础积分无关。活动参数(奖励金额、持续时间、目标)根据每个 Frontier 设置,并在其各自的主页上显示。 +- **运作方式:** 选择的 Frontier 任务提供额外的奖励,奖励以 $XNY 或 USDT 形式发放,与基础积分无关。活动参数(奖励金额、持续时间、目标)根据每个 Frontier 设置,并在其各自的主页上显示。 - **原因:** 通过有针对性的激励措施,推动对高价值数据任务的更深入参与,提高数据质量和生态系统的参与度。 @@ -275,8 +275,8 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 通过可信的多领域数据收集加速 AI 发展,并促进社区驱动的去中心化 AI 知识构建。 -- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **参与方式:** 通过 Binance Wallet Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分配。 - **活动时间:** 2025 年 09 月 26 日 07:00 UTC – 2025 年 10 月 03 日 07:00 UTC。 @@ -293,8 +293,8 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 收集跨领域数据,涵盖生活、机器人、加密货币、模型比较和指纹验证,以用于 AI 训练和验证。 -- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **参与方式:** 通过 Binance Wallet Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分配。 - **活动时间:** 2025 年 09 月 12 日 07:00 UTC – 2025 年 09 月 19 日 07:00 UTC。 @@ -311,8 +311,8 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 收集和注释跨领域数据,涵盖生活、机器人和加密货币,以用于 AI 训练和验证。 -- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **参与方式:** 通过 Binance Wallet Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分配。 - **活动时间:** 2025 年 09 月 05 日 07:00 UTC – 2025 年 09 月 12 日 07:00 UTC。 @@ -346,8 +346,8 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 为去中心化 AI 训练建立跨领域注释数据的基础,涵盖生活、机器人和加密货币。 -- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **参与方式:** 通过 Binance Wallet Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分配。 - **活动时间:** 2025 年 08 月 22 日 07:00 UTC – 2025 年 08 月 29 日 07:00 UTC。 @@ -364,8 +364,8 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 系统性地注释和扩展食品 AI、机器人交互和 CEX 链上数据的领域特定数据集,以用于去中心化 AI 训练。 -- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **参与方式:** 通过 Binance Wallet Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分配。 - **活动时间:** 2025 年 08 月 15 日 07:00 UTC – 2025 年 08 月 22 日 07:00 UTC。 @@ -382,8 +382,8 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 系统性地收集四个关键领域的注释数据:项目学习、食品 AI 判断、机器人注释和 CEX 数据扩展。 -- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **参与方式:** 通过 Binance Wallet Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分配。 - **活动时间:** 2025 年 08 月 08 日 07:00 UTC – 2025 年 08 月 15 日 07:00 UTC。 @@ -400,8 +400,8 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 收集三个核心领域的注释数据:AI 食品模型比较、机器人交互注释和 CEX 热钱包数据标注。 -- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **参与方式:** 通过 Binance Wallet Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分配。 - **活动时间:** 2025 年 08 月 01 日 07:00 UTC – 2025 年 08 月 08 日 07:00 UTC。 @@ -418,8 +418,8 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 通过注释的真实世界交互数据来验证 AI 食品分析并增强机器人训练。 -- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分发。 +- **参与方式:** 通过 Binance Wallet Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY(有锁仓期),在任务完成和验证后分配。 - **活动时间:** 2025 年 07 月 24 日 07:00 UTC – 2025 年 07 月 31 日 07:00 UTC。 @@ -436,8 +436,8 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 通过收集丰富的注释,深化 AI 对食品的理解,这些注释不仅限于标签,还包括重量、烹饪方法和热量含量。 -- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY,在任务完成和验证后分发。 +- **参与方式:** 通过 Binance Wallet Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY,在任务完成和验证后分配。 - **活动时间:** 2025 年 07 月 16 日 13:00 UTC – 2025 年 07 月 23 日 13:00 UTC。 @@ -454,8 +454,8 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历 通过收集即食食品的注释图像,教会 AI 对人类饮食习惯的细致理解,关注文化和上下文的相关性,而不仅仅是简单的标签。 -- **参与方式:** 通过 Binance 钱包 Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 -- **奖励:** 总奖励池为 50,000,000 $XNY,在任务完成和验证后分发。 +- **参与方式:** 通过 Binance Wallet Booster 标签或主页横幅访问(需要 Alpha Points ≥ 61)。 +- **奖励:** 总奖励池为 50,000,000 $XNY,在任务完成和验证后分配。 - **活动时间:** 2025 年 07 月 09 日 13:00 UTC – 2025 年 07 月 16 日 13:00 UTC。 @@ -505,7 +505,7 @@ Crypto Frontier 已正式停用。此操作仅影响前端入口点。所有历
-通过收集标注的食品数据、通过测验激发社区知识,并通过多层次的激励结构奖励参与,启动首季活动。 +通过收集注释食品数据、通过测验吸引社区知识,并通过多层次激励结构奖励参与,启动首季活动。 - **参与方式:** 可通过 Binance Wallet Booster 标签或主页横幅访问(Alpha Points ≥ 61)。 - **奖励:** 总奖励池为 50,000,000 $XNY,任务完成并验证后分发。 @@ -537,11 +537,11 @@ export const ChangelogFilter = () => { }, [activeFilter]); const filterTypes = [ - { id: 'all', label: '全部', color: '#6b7280', count: 24 }, - { id: 'core-feature', label: '核心功能发布', color: '#16A34A', count: 4 }, - { id: 'optimization', label: '调整与优化', color: '#F59E0B', count: 3 }, - { id: 'fixes', label: '修复与功能下线', color: '#EF4444', count: 3 }, - { id: 'campaign', label: '活动启动', color: '#A855F7', count: 14 } + { id: 'all', label: 'All', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, + { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, + { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } ]; const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; @@ -713,14 +713,14 @@ export const MonthFilter = () => { }, [activeMonth]); const months = [ - { id: 'all', label: '全部月份', count: 24 }, - { id: 'dec', label: '十二月', count: 1 }, - { id: 'nov', label: '十一月', count: 3 }, - { id: 'oct', label: '十月', count: 6 }, - { id: 'sep', label: '九月', count: 3 }, - { id: 'aug', label: '八月', count: 5 }, - { id: 'jul', label: '七月', count: 5 }, - { id: 'jun', label: '六月', count: 1 } + { id: 'all', label: 'All Months', count: 24 }, + { id: 'dec', label: 'December', count: 1 }, + { id: 'nov', label: 'November', count: 3 }, + { id: 'oct', label: 'October', count: 6 }, + { id: 'sep', label: 'September', count: 3 }, + { id: 'aug', label: 'August', count: 5 }, + { id: 'jul', label: 'July', count: 5 }, + { id: 'jun', label: 'June', count: 1 } ]; const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; diff --git a/ko/changelog/2025.mdx b/ko/changelog/2025.mdx index e6f3de7..1c9c51c 100644 --- a/ko/changelog/2025.mdx +++ b/ko/changelog/2025.mdx @@ -1,6 +1,6 @@ --- -title: "변경 로그" -description: "이 변경 로그는 2025년 Codatta의 모든 업데이트, 수정 및 새로운 기능을 문서화합니다." +title: "Changelog" +description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." --- import { useState, useEffect } from 'react'; @@ -67,7 +67,7 @@ import { useState, useEffect } from 'react'; flexShrink: 0 }}> {num} - 개 결과 + result{num !== 1 ? 's' : ''} ); }; @@ -85,7 +85,7 @@ import { useState, useEffect } from 'react';
-고인센티브 작업(예: 에어드랍 또는 프론티어 캠페인)에서의 보상을 위한 선택적 잠금 기능입니다. +고인센티브 작업(예: Airdrop 또는 Frontier 캠페인)에서의 보상을 위한 선택적 잠금 기능입니다. - **트리거:** 캠페인 후 보상이 귀하의 잔액에 입금됩니다. - **잠금:** 자산 페이지를 통해 스마트 계약에 보상을 잠금으로써 안전하게 보호합니다. @@ -99,20 +99,20 @@ import { useState, useEffect } from 'react'; ## 2025년 11월 24일 --- -**캠페인 시작: 에어드랍 시즌 2** +**캠페인 시작: Airdrop 시즌 2**
-물리학, 금융 및 다중 모드 분야에서 학술 수준의 데이터셋을 체계적으로 수집하고, 세 가지 새로운 프론티어를 위한 고품질 데이터 파이프라인을 구축합니다. +물리학, 금융 및 다중 모드 분야에서 학술 수준의 데이터셋을 체계적으로 수집하고, 세 개의 새로운 Frontier를 위한 고품질 데이터 파이프라인을 구축합니다. -- **행동:** 100만 $XNY 상금 풀로 에어드랍 시즌 2를 시작했습니다(3개월 선형 분배). -- **새로운 프론티어:** - - **고급 물리학 문제:** 현재 AI가 정확하게 답변할 수 없는 고난이도 물리학 문제를 제출할 수 있는 도메인 전문가를 위한 것입니다. - - **암호화폐 및 주식 정보:** AI에게 암호화폐 및 주식 투자 결정과 관련된 신뢰할 수 있는 정보를 제공합니다. - - **실제 사진:** 주석이 달린 메타데이터를 포함한 실제 사진을 AI에게 제공합니다. -- **보상 구조:** 작업 완료에 대해 90%, 리더보드 순위에 대해 10%. +- **행동:** 100만 $XNY 상금 풀로 Airdrop 시즌 2를 시작했습니다(3개월 선형 분배). +- **새로운 Frontier:** + - **고급 물리학 문제:** 현재 AI가 올바르게 답변할 수 없는 고난이도 물리학 문제를 제출하기 위한 도메인 전문가를 위한 것입니다. + - **암호화폐 및 주식 정보:** AI에 암호화폐 및 주식 투자 결정과 관련된 신뢰할 수 있는 정보를 제공합니다. + - **실제 사진:** 주석이 달린 메타데이터를 포함한 실제 사진을 AI에 제공합니다. +- **보상 구조:** 작업 완료에 대해 90%, 리더보드 순위에 대해 10%를 지급합니다. - **일정:** 2025년 11월 24일 09:00 UTC – 2025년 12월 08일 09:00 UTC. @@ -127,10 +127,10 @@ import { useState, useEffect } from 'react';
-탈중앙화 식별자(DID)와 계정 바인딩을 가능하게 하는 기본 업그레이드입니다. +탈중앙화 식별자(DID)에 계정을 바인딩할 수 있는 기본 업그레이드입니다. -- **바인딩:** 다음 Codatta 로그인 시 온체인 DID의 셀프 서비스 통합. -- **연관:** 바인딩된 DID는 통합된 기본 키 역할을 하여 모든 작업 행동, 데이터 기여 및 보상 분배를 체계적으로 인덱싱합니다. +- **바인딩:** Codatta에 다음 로그인 시 온체인 DID의 셀프 서비스 통합이 가능합니다. +- **연관:** 바인딩된 DID는 모든 작업 행동, 데이터 기여 및 보상 분배를 체계적으로 인덱싱하는 통합 기본 키 역할을 합니다. - **계보:** 온체인 및 오프체인 활동의 완전한 추적 가능성과 검증을 가능하게 하여 불변의 데이터 출처를 확립합니다. 이 배포는 검증 가능한 데이터 경제를 위한 기술적 초석을 마련합니다. 각 기여자에게 지속적이고 고유한 디지털 정체성을 제공함으로써 세분화된 기여 귀속, 명확한 소유권 검증 및 프로토콜 수준에서의 투명한 인센티브 할당을 가능하게 합니다. @@ -141,16 +141,16 @@ import { useState, useEffect } from 'react'; ## 2025년 11월 03일 --- -**퀘스트 시스템 조정: 암호화폐 프론티어 QUEST 모듈 비활성화** +**퀘스트 시스템 조정: Crypto Frontier QUEST 모듈 서비스 종료**
-암호화폐 프론티어 QUEST 모듈과 모든 관련 작업(제출, 검증 및 보상 사냥 포함)이 오프라인 상태로 전환되었습니다. +전체 Crypto Frontier QUEST 모듈과 모든 관련 작업(제출, 검증 및 보상 사냥 포함)이 오프라인 상태로 전환되었습니다. -- **이유:** 이 모듈은 현재 제품 로드맵에 따라 계획된 생애 주기를 완료했습니다. 비활성화는 시스템 간소화 및 향후 기능 출시를 위한 자원 재조정을 지원합니다. -- **참고:** 사용자의 이력 기여 기록 및 이 모듈에서 획득한 보상은 그대로 유지됩니다. 다른 프론티어 모듈에는 이 변경 사항이 영향을 미치지 않습니다. +- **이유:** 이 모듈은 현재 제품 로드맵에 따라 계획된 생애 주기를 완료했습니다. 서비스 종료는 시스템 간소화 및 향후 기능 출시를 위한 자원 재조정을 지원합니다. +- **참고:** 사용자의 과거 기여 기록과 이 모듈에서 얻은 보상은 그대로 유지됩니다. 이 변경으로 인해 다른 Frontier 모듈에는 영향을 미치지 않습니다. @@ -158,16 +158,16 @@ import { useState, useEffect } from 'react'; ## 2025년 10월 24일 --- -**프론티어 시스템 조정: 로보틱스 프론티어 비활성화** +**Frontier 시스템 조정: Robotics Frontier 서비스 종료**
-로보틱스 프론티어가 공식적으로 비활성화되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 이력 기여 데이터는 그대로 유지되며 접근 가능합니다. +Robotics Frontier가 공식적으로 서비스 종료되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 과거 기여 데이터는 그대로 유지되며 접근 가능합니다. -- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 프론티어에 집중하기 위한 지속적인 제품 간소화의 일환입니다. 로보틱스 프론티어는 계획된 탐색 단계를 완료하였으며, 비활성화는 노력을 통합할 수 있게 합니다. -- **참고:** 사용자의 과거 기여 및 로보틱스 프론티어에서의 보상은 보존되며 기여 이력에서 검토할 수 있습니다. 다른 프론티어나 플랫폼 기능에는 영향을 미치지 않습니다. +- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 Frontier에 집중하기 위한 지속적인 제품 간소화의 일환입니다. Robotics Frontier는 계획된 탐색 단계를 완료하였으며, 서비스 종료를 통해 노력을 통합할 수 있습니다. +- **참고:** 사용자의 과거 기여 및 Robotics Frontier에서의 보상은 보존되며 기여 기록에서 검토할 수 있습니다. 다른 Frontier나 플랫폼 기능에는 영향을 미치지 않습니다. @@ -192,16 +192,16 @@ import { useState, useEffect } from 'react'; ## 2025년 10월 20일 --- -**프론티어 시스템 조정: 암호화폐 프론티어 비활성화** +**Frontier 시스템 조정: Crypto Frontier 서비스 종료**
-암호화폐 프론티어가 공식적으로 비활성화되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 이력 기여 데이터는 그대로 유지되며 접근 가능합니다. +Crypto Frontier가 공식적으로 서비스 종료되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 과거 기여 데이터는 그대로 유지되며 접근 가능합니다. -- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 프론티어에 집중하기 위한 지속적인 제품 간소화의 일환입니다. 암호화폐 프론티어는 계획된 탐색 단계를 완료하였으며, 비활성화는 노력을 통합할 수 있게 합니다. -- **참고:** 사용자의 과거 기여 및 암호화폐 프론티어에서의 보상은 보존되며 기여 이력에서 검토할 수 있습니다. 다른 프론티어나 플랫폼 기능에는 영향을 미치지 않습니다. +- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 Frontier에 집중하기 위한 지속적인 제품 간소화의 일환입니다. Crypto Frontier는 계획된 탐색 단계를 완료하였으며, 서비스 종료를 통해 노력을 통합할 수 있습니다. +- **참고:** 사용자의 과거 기여 및 Crypto Frontier에서의 보상은 보존되며 기여 기록에서 검토할 수 있습니다. 다른 Frontier나 플랫폼 기능에는 영향을 미치지 않습니다. @@ -226,21 +226,21 @@ import { useState, useEffect } from 'react'; ## 2025년 10월 13일 --- -**캠페인 시작: 에어드랍 시즌 1** +**캠페인 시작: Airdrop 시즌 1**
-고보상 메커니즘과 스팸 방지 시행을 통해 고품질의 구조화된 데이터를 체계적으로 수집하고, 유효성과 학술 가치를 보장하며, 장기 기여자에게 보상하고 플랫폼의 데이터 생태계를 다각화하기 위해 다섯 개의 새로운 프론티어 모듈을 도입합니다. +고보상 메커니즘과 스팸 방지 시행을 통해 고품질의 구조화된 데이터를 체계적으로 수집하고, 유효성과 학술 가치를 보장하며, 장기 기여자에게 보상하고 플랫폼의 데이터 생태계를 다각화하기 위해 다섯 개의 새로운 Frontier 모듈을 도입합니다. -- **행동:** 250만 $XNY 상금 풀과 포인트 보상으로 에어드랍 시즌 1을 시작했습니다. -- **새로운 프론티어:** - - **모델 비교:** 다양한 AI 모델 간의 성능 지표 및 비즈니스 결과를 비교하여 최적 또는 하이브리드 솔루션을 식별합니다. +- **행동:** 250만 $XNY 상금 풀과 포인트 보상으로 Airdrop 시즌 1을 시작했습니다. +- **새로운 Frontier:** + - **모델 비교:** 다양한 AI 모델 간의 성능 지표와 비즈니스 결과를 비교하여 최적의 솔루션이나 하이브리드 솔루션을 식별합니다. - **LLM의 실수 발견:** LLM 출력에서의 추론, 사실 및 논리적 오류를 식별하여 모델 최적화를 지원합니다. - **LLM의 실수 수정:** LLM이 실수에서 학습하고 자기 수정 및 추론을 개선할 수 있도록 교정 데이터를 수집합니다. - **식품 과학:** 식품 과학 및 영양 기능에 대한 연구 데이터를 수집하여 이 분야의 혁신을 촉진합니다. - - **라이프로그 캔버스:** 개인 행동 및 건강 관련 데이터를 추적하고 기록하여 행동 및 관련 연구를 지원합니다. + - **Lifelog Canvas:** 개인 행동 및 건강 관련 데이터를 추적하고 기록하여 행동 및 관련 연구를 지원합니다. - **보상 구조:** 보상은 제출 평가에 따라 순위가 매겨지고 캠페인 후 분배됩니다. 악의적인 제출은 데이터 품질을 보장하기 위해 처벌됩니다. - **일정:** 2025년 10월 13일 09:00 UTC - 2025년 10월 27일 09:00 UTC. @@ -250,14 +250,15 @@ import { useState, useEffect } from 'react'; ## 2025년 10월 10일 --- -**기능 출시: 프론티어별 보상 활동** +**기능 출시: Frontier별 보상 활동**
-프론티어를 위한 구성 가능한 보상 활동이 제공되어 추가적인 고부가가치 인센티브를 제공합니다. +Frontier를 위한 구성 가능한 보상 활동이 이제 제공되어 추가적인 고부가가치 인센티브를 제공합니다. +```html - **방법:** 선택된 Frontier 작업은 기본 포인트와는 독립적으로 $XNY 또는 USDT로 추가 보상을 제공합니다. 활동 매개변수(보상 금액, 기간, 목표)는 각 Frontier에 따라 설정되며 해당 홈페이지에 표시됩니다. - **이유:** 목표 지향적인 인센티브를 통해 고부가가치 데이터 작업에 대한 참여를 촉진하고, 데이터 품질과 생태계 참여를 개선하기 위함입니다. @@ -267,7 +268,7 @@ import { useState, useEffect } from 'react'; ## 2025년 09월 26일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 3 4주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 3 4주차**
@@ -275,7 +276,7 @@ import { useState, useEffect } from 'react'; 신뢰할 수 있는 다중 도메인 데이터 수집을 통해 AI 개발을 가속화하고, 커뮤니티 주도의 분산형 AI 지식 구축을 촉진합니다. -- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 09월 26일 07:00 UTC – 2025년 10월 03일 07:00 UTC. @@ -285,15 +286,15 @@ import { useState, useEffect } from 'react'; ## 2025년 09월 12일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 3 3주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 3 3주차**
-AI 훈련 및 검증을 위해 생명, 로봇 공학, 암호화폐, 모델 비교 및 지문 검증에 걸친 교차 도메인 데이터를 수집합니다. +AI 훈련 및 검증을 위해 생명, 로봇공학, 암호화폐, 모델 비교 및 지문 검증에 걸친 교차 도메인 데이터를 수집합니다. -- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 09월 12일 07:00 UTC – 2025년 09월 19일 07:00 UTC. @@ -303,15 +304,15 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학, 암호화폐, 모델 비 ## 2025년 09월 05일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 3 2주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 3 2주차**
-AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 교차 도메인 데이터를 수집하고 주석을 달기 위해 진행됩니다. +AI 훈련 및 검증을 위해 생명, 로봇공학 및 암호화폐에 걸친 교차 도메인 데이터를 수집하고 주석을 달기 위해 진행됩니다. -- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 09월 05일 07:00 UTC – 2025년 09월 12일 07:00 UTC. @@ -330,7 +331,7 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 사용자 정보 모듈 내에 새로운 데이터 프로필 기능을 도입합니다. - **방법:** 사용자 정보 > 데이터 프로필을 통해 총 제출 수, 획득한 보상 및 기여 통계를 시각적 대시보드에서 확인할 수 있습니다. -- **이유:** 기여에 대한 투명성을 제공하고, 가시적인 진행 상황 추적을 통해 참여를 강화하며, 장기적인 참여를 지원하기 위함입니다. +- **이유:** 기여에 대한 투명성을 제공하고, 가시적인 진행 추적을 통해 참여를 강화하며, 장기적인 참여를 지원하기 위함입니다. @@ -338,15 +339,15 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 ## 2025년 08월 22일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 3 1주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 3 1주차**
-분산형 AI 훈련을 위해 생명, 로봇 공학 및 암호화폐에 걸친 주석이 달린 데이터의 기초를 마련합니다. +분산형 AI 훈련을 위해 생명, 로봇공학 및 암호화폐에 걸친 교차 도메인 주석 데이터의 기초를 마련합니다. -- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 08월 22일 07:00 UTC – 2025년 08월 29일 07:00 UTC. @@ -356,7 +357,7 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 ## 2025년 08월 15일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 2 4주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 2 4주차**
@@ -364,7 +365,7 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 분산형 AI 훈련을 위해 음식 AI, 로봇 상호작용 및 CEX 온체인 데이터에 대한 도메인별 데이터 세트를 체계적으로 주석 달고 확장합니다. -- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 08월 15일 07:00 UTC – 2025년 08월 22일 07:00 UTC. @@ -374,15 +375,15 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 ## 2025년 08월 08일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 2 3주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 2 3주차**
-프로젝트 학습, 음식 AI 판단, 로봇 주석 및 CEX 데이터 확장을 포함한 네 가지 주요 영역에서 주석이 달린 데이터를 체계적으로 수집합니다. +프로젝트 학습, 음식 AI 판단, 로봇 주석 및 CEX 데이터 확장을 포함한 네 가지 주요 영역에서 체계적으로 주석이 달린 데이터를 수집합니다. -- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 08월 08일 07:00 UTC – 2025년 08월 15일 07:00 UTC. @@ -392,7 +393,7 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 ## 2025년 08월 01일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 2 2주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 2 2주차**
@@ -400,7 +401,7 @@ AI 훈련 및 검증을 위해 생명, 로봇 공학 및 암호화폐에 걸친 AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 라벨링을 포함한 세 가지 핵심 도메인에서 주석이 달린 데이터를 수집합니다. -- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 08월 01일 07:00 UTC – 2025년 08월 08일 07:00 UTC. @@ -410,7 +411,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 ## 2025년 07월 24일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 2 1주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 2 1주차**
@@ -418,7 +419,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 주석이 달린 실제 상호작용 데이터를 통해 AI 음식 분석을 검증하고 로봇 훈련을 향상시킵니다. -- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 07월 24일 07:00 UTC – 2025년 07월 31일 07:00 UTC. @@ -428,7 +429,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 ## 2025년 07월 16일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 1 4주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 1 4주차**
@@ -436,7 +437,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 무게, 조리 방법 및 칼로리 함량을 포함한 풍부한 주석을 수집하여 AI의 음식 이해를 심화합니다. -- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY, 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 07월 16일 13:00 UTC – 2025년 07월 23일 13:00 UTC. @@ -446,15 +447,15 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 ## 2025년 07월 09일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 1 3주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 1 3주차**
-문화적 및 맥락적 관련성을 넘어 단순한 라벨을 넘어서, 즉석 식품의 주석이 달린 이미지를 수집하여 AI에게 인간의 식습관에 대한 미세한 이해를 가르칩니다. +문화적 및 맥락적 관련성을 넘어 단순한 라벨을 넘어서는 즉석 식품의 주석이 달린 이미지를 수집하여 AI에게 인간의 식습관에 대한 미세한 이해를 가르칩니다. -- **접근:** 바이낸스 지갑 부스터 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha 포인트 ≥ 61 필요). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요). - **보상:** 총 보상 풀 50,000,000 $XNY, 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 07월 09일 13:00 UTC – 2025년 07월 16일 13:00 UTC. @@ -472,16 +473,17 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 퀘스트 시스템이 완전히 복원되어 재개되었습니다. -- **방법:** 2025년 06월 30일에 일시적으로 오프라인 되었으며, 현재 포괄적으로 복원되었습니다. +- **방법:** 2025년 06월 30일에 일시적으로 오프라인 상태였으며, 현재 포괄적으로 복원되었습니다. - **이유:** 아키텍처 업그레이드를 통해 시스템 안정성과 사용자 경험을 향상시키기 위함입니다. +```
## 2025년 07월 02일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 1 2주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 1 2주차**
@@ -489,7 +491,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 채식, 비채식 및 혼합 카테고리 전반에 걸쳐 세밀한 이미지 라벨링을 통해 AI의 글로벌 음식 문화 및 선호도 이해를 확장하기 위함입니다. -- **접근:** Binance Wallet 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (알파 포인트 ≥ 61). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha Points ≥ 61). - **보상:** 총 50,000,000 $XNY의 보상 풀, 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 07월 02일 13:00 UTC – 2025년 07월 09일 13:00 UTC. @@ -499,7 +501,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 ## 2025년 06월 25일 --- -**캠페인 시작: Codatta 부스터 캠페인 시즌 1 1주차** +**캠페인 시작: Codatta Booster 캠페인 시즌 1 1주차**
@@ -507,7 +509,7 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 주석이 달린 음식 데이터를 수집하고, 퀴즈를 통해 커뮤니티 지식을 활용하며, 다단계 인센티브 구조를 통해 참여를 보상함으로써 첫 번째 시즌을 시작하기 위함입니다. -- **접근:** Binance Wallet 부스터 탭 또는 홈페이지 배너를 통해 접근 가능 (알파 포인트 ≥ 61). +- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha Points ≥ 61). - **보상:** 총 50,000,000 $XNY의 보상 풀, 작업 완료 및 검증 후 분배됩니다. - **일정:** 2025년 06월 25일 13:00 UTC – 2025년 07월 02일 13:00 UTC. @@ -537,11 +539,11 @@ export const ChangelogFilter = () => { }, [activeFilter]); const filterTypes = [ - { id: 'all', label: '전체', color: '#6b7280', count: 24 }, - { id: 'core-feature', label: '핵심 기능 출시', color: '#16A34A', count: 4 }, - { id: 'optimization', label: '조정 및 최적화', color: '#F59E0B', count: 3 }, - { id: 'fixes', label: '수정 및 기능 종료', color: '#EF4444', count: 3 }, - { id: 'campaign', label: '캠페인 시작', color: '#A855F7', count: 14 } + { id: 'all', label: 'All', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, + { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, + { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } ]; const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; @@ -713,14 +715,14 @@ export const MonthFilter = () => { }, [activeMonth]); const months = [ - { id: 'all', label: '전체', count: 24 }, - { id: 'dec', label: '12월', count: 1 }, - { id: 'nov', label: '11월', count: 3 }, - { id: 'oct', label: '10월', count: 6 }, - { id: 'sep', label: '9월', count: 3 }, - { id: 'aug', label: '8월', count: 5 }, - { id: 'jul', label: '7월', count: 5 }, - { id: 'jun', label: '6월', count: 1 } + { id: 'all', label: 'All Months', count: 24 }, + { id: 'dec', label: 'December', count: 1 }, + { id: 'nov', label: 'November', count: 3 }, + { id: 'oct', label: 'October', count: 6 }, + { id: 'sep', label: 'September', count: 3 }, + { id: 'aug', label: 'August', count: 5 }, + { id: 'jul', label: 'July', count: 5 }, + { id: 'jun', label: 'June', count: 1 } ]; const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; From f931502d731deff364b06cd51585b7191afc21d6 Mon Sep 17 00:00:00 2001 From: Joel Date: Sun, 4 Jan 2026 20:58:15 +0800 Subject: [PATCH 8/9] Fix: Correct front matter, result text, filter labels, and remove code block errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fixed Chinese front matter: title to '变更日志', description in Chinese - Fixed Korean front matter: title to '변경 로그', description in Korean - Fixed result text: '条结果' for Chinese, '개 결과' for Korean - Fixed filter labels: translated all filter types and month names for both languages - Removed erroneous code block markers in Korean changelog () that caused parsing errors --- cn/changelog/2025.mdx | 32 ++++++++++++++++---------------- ko/changelog/2025.mdx | 34 ++++++++++++++++------------------ 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/cn/changelog/2025.mdx b/cn/changelog/2025.mdx index 54882a3..a226888 100644 --- a/cn/changelog/2025.mdx +++ b/cn/changelog/2025.mdx @@ -1,6 +1,6 @@ --- -title: "Changelog" -description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." +title: "变更日志" +description: "本文档记录了 Codatta 在 2025 年的所有更新、修复和新功能。" --- import { useState, useEffect } from 'react'; @@ -67,7 +67,7 @@ import { useState, useEffect } from 'react'; flexShrink: 0 }}> {num} - result{num !== 1 ? 's' : ''} + 条结果
); }; @@ -537,11 +537,11 @@ export const ChangelogFilter = () => { }, [activeFilter]); const filterTypes = [ - { id: 'all', label: 'All', color: '#6b7280', count: 24 }, - { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, - { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, - { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, - { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } + { id: 'all', label: '全部', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: '核心功能发布', color: '#16A34A', count: 4 }, + { id: 'optimization', label: '调整与优化', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: '修复与功能下线', color: '#EF4444', count: 3 }, + { id: 'campaign', label: '活动启动', color: '#A855F7', count: 14 } ]; const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; @@ -713,14 +713,14 @@ export const MonthFilter = () => { }, [activeMonth]); const months = [ - { id: 'all', label: 'All Months', count: 24 }, - { id: 'dec', label: 'December', count: 1 }, - { id: 'nov', label: 'November', count: 3 }, - { id: 'oct', label: 'October', count: 6 }, - { id: 'sep', label: 'September', count: 3 }, - { id: 'aug', label: 'August', count: 5 }, - { id: 'jul', label: 'July', count: 5 }, - { id: 'jun', label: 'June', count: 1 } + { id: 'all', label: '全部月份', count: 24 }, + { id: 'dec', label: '十二月', count: 1 }, + { id: 'nov', label: '十一月', count: 3 }, + { id: 'oct', label: '十月', count: 6 }, + { id: 'sep', label: '九月', count: 3 }, + { id: 'aug', label: '八月', count: 5 }, + { id: 'jul', label: '七月', count: 5 }, + { id: 'jun', label: '六月', count: 1 } ]; const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; diff --git a/ko/changelog/2025.mdx b/ko/changelog/2025.mdx index 1c9c51c..154a7d1 100644 --- a/ko/changelog/2025.mdx +++ b/ko/changelog/2025.mdx @@ -1,6 +1,6 @@ --- -title: "Changelog" -description: "This changelog documents all updates, fixes, and new features for Codatta in 2025." +title: "변경 로그" +description: "이 변경 로그는 2025년 Codatta의 모든 업데이트, 수정 및 새로운 기능을 문서화합니다." --- import { useState, useEffect } from 'react'; @@ -67,7 +67,7 @@ import { useState, useEffect } from 'react'; flexShrink: 0 }}> {num} - result{num !== 1 ? 's' : ''} + 개 결과 ); }; @@ -258,7 +258,6 @@ Crypto Frontier가 공식적으로 서비스 종료되었습니다. 이 조치 Frontier를 위한 구성 가능한 보상 활동이 이제 제공되어 추가적인 고부가가치 인센티브를 제공합니다. -```html - **방법:** 선택된 Frontier 작업은 기본 포인트와는 독립적으로 $XNY 또는 USDT로 추가 보상을 제공합니다. 활동 매개변수(보상 금액, 기간, 목표)는 각 Frontier에 따라 설정되며 해당 홈페이지에 표시됩니다. - **이유:** 목표 지향적인 인센티브를 통해 고부가가치 데이터 작업에 대한 참여를 촉진하고, 데이터 품질과 생태계 참여를 개선하기 위함입니다. @@ -477,7 +476,6 @@ AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 - **이유:** 아키텍처 업그레이드를 통해 시스템 안정성과 사용자 경험을 향상시키기 위함입니다. -```
@@ -539,11 +537,11 @@ export const ChangelogFilter = () => { }, [activeFilter]); const filterTypes = [ - { id: 'all', label: 'All', color: '#6b7280', count: 24 }, - { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 }, - { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 }, - { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 }, - { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 } + { id: 'all', label: '전체', color: '#6b7280', count: 24 }, + { id: 'core-feature', label: '핵심 기능 출시', color: '#16A34A', count: 4 }, + { id: 'optimization', label: '조정 및 최적화', color: '#F59E0B', count: 3 }, + { id: 'fixes', label: '수정 및 기능 종료', color: '#EF4444', count: 3 }, + { id: 'campaign', label: '캠페인 시작', color: '#A855F7', count: 14 } ]; const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0]; @@ -715,14 +713,14 @@ export const MonthFilter = () => { }, [activeMonth]); const months = [ - { id: 'all', label: 'All Months', count: 24 }, - { id: 'dec', label: 'December', count: 1 }, - { id: 'nov', label: 'November', count: 3 }, - { id: 'oct', label: 'October', count: 6 }, - { id: 'sep', label: 'September', count: 3 }, - { id: 'aug', label: 'August', count: 5 }, - { id: 'jul', label: 'July', count: 5 }, - { id: 'jun', label: 'June', count: 1 } + { id: 'all', label: '전체', count: 24 }, + { id: 'dec', label: '12월', count: 1 }, + { id: 'nov', label: '11월', count: 3 }, + { id: 'oct', label: '10월', count: 6 }, + { id: 'sep', label: '9월', count: 3 }, + { id: 'aug', label: '8월', count: 5 }, + { id: 'jul', label: '7월', count: 5 }, + { id: 'jun', label: '6월', count: 1 } ]; const activeMonthData = months.find(month => month.id === activeMonth) || months[0]; From fe762500cc701abeb3eb675e0a8b79f4552d24c7 Mon Sep 17 00:00:00 2001 From: Joel Date: Sun, 4 Jan 2026 21:13:22 +0800 Subject: [PATCH 9/9] refactor: Translate code comments and log messages to English - Convert all Chinese comments in translate.js to English - Convert all Chinese log messages and error messages to English - Convert all Chinese comments in GitHub Actions workflow to English - Keep systemPrompt in Chinese/Korean as they are translation instructions for AI - Add PR description document --- .github/workflows/auto-translate.yml | 22 +++--- PR_DESCRIPTION.md | 109 +++++++++++++++++++++++++++ translate.js | 92 +++++++++++----------- 3 files changed, 166 insertions(+), 57 deletions(-) create mode 100644 PR_DESCRIPTION.md diff --git a/.github/workflows/auto-translate.yml b/.github/workflows/auto-translate.yml index f5c1351..f9d537e 100644 --- a/.github/workflows/auto-translate.yml +++ b/.github/workflows/auto-translate.yml @@ -14,35 +14,35 @@ jobs: contents: write steps: - # 1️⃣ 检出触发的源分支 + # 1️⃣ Checkout source branch - name: Checkout source branch uses: actions/checkout@v4 with: ref: ${{ github.ref_name }} - # 2️⃣ Node 环境 + # 2️⃣ Setup Node environment - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 - # 3️⃣ 安装依赖 + # 3️⃣ Install dependencies - name: Install deps run: | npm init -y npm install openai fs-extra - # 4️⃣ 执行翻译(生成 cn/ ko/ 文件) + # 4️⃣ Run translation (generate cn/ ko/ files) - name: Run translation env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: node translate.js timeout-minutes: 60 - # 5️⃣ 创建【带时间戳】的翻译分支并 push + # 5️⃣ Create translation branch with timestamp and push - name: Push translated files run: | - # 时间戳(UTC,保证稳定) + # Timestamp (UTC, for stability) TS=$(date -u '+%Y%m%d-%H%M%S') SRC_BRANCH="${GITHUB_REF_NAME}" @@ -51,18 +51,18 @@ jobs: git config user.name "github-actions" git config user.email "github-actions@github.com" - # 新建翻译分支(每次都是新的) + # Create new translation branch (new each time) git checkout -b "$TRANS_BRANCH" - # 确保目录存在(防止 glob 报错) + # Ensure directories exist (prevent glob errors) mkdir -p cn/changelog mkdir -p ko/changelog - # 只 add 翻译文件 + # Only add translated files git add cn/** ko/** - # 没变化就不提交 + # Skip commit if no changes git diff --cached --quiet || git commit -m "chore: auto translate (${TS})" - # 推送新分支 + # Push new branch git push origin "$TRANS_BRANCH" \ No newline at end of file diff --git a/PR_DESCRIPTION.md b/PR_DESCRIPTION.md new file mode 100644 index 0000000..4a0d734 --- /dev/null +++ b/PR_DESCRIPTION.md @@ -0,0 +1,109 @@ +# 添加自动翻译系统并完善多语言 Changelog 支持 + +## 📋 概述 + +本次 PR 引入了自动翻译工作流系统,为文档添加了韩文支持,并全面改进了中文和韩文 changelog 的翻译质量和本地化体验。 + +## ✨ 主要功能 + +### 1. 自动翻译系统 +- **新增 GitHub Actions 工作流** (`.github/workflows/auto-translate.yml`) + - 当推送到非 main 分支时自动触发翻译 + - 自动创建翻译分支并提交翻译结果 +- **新增翻译脚本** (`translate.js`) + - 使用 OpenAI API 进行智能翻译 + - 支持中文和韩文翻译 + - 包含重试机制和分块处理 + +### 2. 翻译质量改进 +- **专有名词智能识别** + - 自动识别首字母大写的专有名词(产品名、模块名等) + - 固定术语规则:`Frontier`、`Crypto Frontier`、`Robotics Frontier`、`Model Comparison` 等保持英文 + - 特定术语统一翻译:`Lineage` → `血缘`,`How` → `运作方式`,`Timeline` → `活动时间`,`Access` → `参与方式`,`Lock` → `锁仓` +- **自然语言表达** + - 避免直译,根据上下文用符合语言习惯的方式表达 + - 例如:`action` 根据上下文翻译为 `操作`、`动作` 等,而非直译为 `行动` +- **日期格式统一** + - 中文:`2025 年 12 月 04 日`(汉字和数字之间保留空格,月份和日期补零) + - 韩文:`2025년 12월 04일`(月份和日期补零) + +### 3. 多语言 Changelog 支持 +- **新增韩文 changelog** (`ko/changelog/2025.mdx`) + - 完整的 2025 年 changelog 韩文翻译 + - 包含所有 UI 元素的本地化 +- **更新中文 changelog** (`cn/changelog/2025.mdx`) + - 改进翻译质量 + - 统一日期格式 + - 修复专有名词翻译 +- **更新英文 changelog** (`en/changelog/2025.mdx`) + - 添加 React hooks 导入以支持交互功能 + +### 4. UI 元素本地化 +- **Front matter(元数据)** + - 中文:`title: "变更日志"`,`description: "本文档记录了 Codatta 在 2025 年的所有更新、修复和新功能。"` + - 韩文:`title: "변경 로그"`,`description: "이 변경 로그는 2025년 Codatta의 모든 업데이트, 수정 및 새로운 기능을 문서화합니다."` +- **结果文本** + - 中文:`条结果` + - 韩文:`개 결과` +- **过滤器标签** + - 中文:全部、核心功能发布、调整与优化、修复与功能下线、活动启动 + - 韩文:전체、핵심 기능 출시、조정 및 최적화、수정 및 기능 종료、캠페인 시작 +- **月份标签** + - 中文:全部月份、十二月、十一月、十月等 + - 韩文:전체、12월、11월、10월等 + +### 5. 配置更新 +- **更新 `docs.json`** + - 添加韩文 changelog 导航配置 + +## 🐛 修复的问题 + +1. **解析错误修复** + - 修复韩文 changelog 中的代码块标记错误(` ```html` 和多余的 ` ````) + - 修复 JSX 解析错误 + +2. **翻译一致性** + - 统一专有名词处理规则 + - 统一日期格式 + - 统一术语翻译 + +3. **UI 元素翻译** + - 修复过滤器标签未翻译的问题 + - 修复结果文本未翻译的问题 + - 修复 front matter 未翻译的问题 + +## 📁 文件变更 + +- **新增文件:** + - `.github/workflows/auto-translate.yml` - 自动翻译工作流 + - `translate.js` - 翻译脚本 + - `ko/changelog/2025.mdx` - 韩文 changelog + +- **修改文件:** + - `cn/changelog/2025.mdx` - 中文 changelog 更新 + - `en/changelog/2025.mdx` - 英文 changelog 更新 + - `docs.json` - 导航配置更新 + +## 🔄 工作流程 + +1. 开发者推送代码到非 main 分支 +2. GitHub Actions 自动触发翻译工作流 +3. 工作流运行 `translate.js` 脚本 +4. 脚本读取英文 changelog,使用 OpenAI API 翻译为中文和韩文 +5. 自动创建翻译分支(格式:`{原分支名}-auto-translate-{时间戳}`) +6. 提交翻译结果到新分支 + +## 📝 注意事项 + +- 翻译脚本需要 `OPENAI_API_KEY` 环境变量 +- 工作流会自动跳过已包含 `auto-translate` 的分支,避免循环触发 +- 翻译提示词已优化,确保专有名词和术语的一致性 + +## ✅ 测试 + +- [x] 中文 changelog 显示正常 +- [x] 韩文 changelog 显示正常,无解析错误 +- [x] 所有 UI 元素已正确本地化 +- [x] 日期格式统一 +- [x] 专有名词处理正确 +- [x] 自动翻译工作流正常运行 diff --git a/translate.js b/translate.js index d803f3f..091c9b2 100644 --- a/translate.js +++ b/translate.js @@ -3,7 +3,7 @@ import fs from "fs-extra"; import path from "path"; /** - * 配置区 + * Configuration */ const SRC_DIR = "en/changelog"; const TARGET_LANGS = [ @@ -21,7 +21,7 @@ const TARGET_LANGS = [ }, ]; -// 初始化客户端 +// Initialize OpenAI client const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY, timeout: 120000, @@ -29,7 +29,7 @@ const client = new OpenAI({ }); /** - * 重试策略 + * Retry strategy */ async function withRetry(fn, maxRetries = 5) { let retries = 0; @@ -39,17 +39,17 @@ async function withRetry(fn, maxRetries = 5) { } catch (err) { retries++; if (retries >= maxRetries) { - throw new Error(`重试${maxRetries}次后仍失败:${err.message}`); + throw new Error(`Failed after ${maxRetries} retries: ${err.message}`); } const delay = 1000 * Math.pow(2, retries); - console.log(`请求失败,${delay}ms 后重试(第 ${retries}/${maxRetries} 次):`, err.message); + console.log(`Request failed, retrying after ${delay}ms (attempt ${retries}/${maxRetries}):`, err.message); await new Promise(resolve => setTimeout(resolve, delay)); } } } /** - * 分块函数(仅处理待翻译部分) + * Split text into chunks (only for the part to be translated) */ function splitTextByParagraphs(text, maxChars = 8000) { const paragraphs = text.split("\n\n"); @@ -82,32 +82,32 @@ function splitTextByParagraphs(text, maxChars = 8000) { if (currentChunk.trim()) { chunks.push(currentChunk.trim()); } - console.log(`✅ 待翻译部分拆分为 ${chunks.length} 块,单块最大${maxChars}字符`); + console.log(`✅ Split translation part into ${chunks.length} chunks, max ${maxChars} chars per chunk`); return chunks; } /** - * 🔥 双标记截断逻辑(核心修改) - * 规则: - * 1. 前标记(markerBefore)及之前 → 不翻译,保留 - * 2. 前标记后 ~ 后标记前 → 翻译 - * 3. 后标记(markerAfter)及之后 → 不翻译,保留 + * Two-marker truncation logic (core modification) + * Rules: + * 1. Before markerBefore (inclusive) → keep as-is, no translation + * 2. Between markerBefore and markerAfter → translate + * 3. After markerAfter (inclusive) → keep as-is, no translation */ function truncateWithTwoMarkers(text, markerBefore, markerAfter) { - // 1. 定位前标记(兼容跨多行) + // 1. Locate markerBefore (supports multi-line) const markerBeforeIndex = text.indexOf(markerBefore); - // 2. 定位后标记(从前往后找,且在前标记之后) + // 2. Locate markerAfter (search forward, must be after markerBefore) const markerAfterIndex = markerBeforeIndex === -1 ? -1 : text.indexOf(markerAfter, markerBeforeIndex + markerBefore.length); - // 边界情况1:没找到前标记 → 只处理后标记(后标记及之后不翻译) + // Edge case 1: markerBefore not found → only handle markerAfter (keep after markerAfter as-is) if (markerBeforeIndex === -1) { if (markerAfterIndex === -1) { - console.log("⚠️ 未找到任何标记,将翻译全部内容"); + console.log("⚠️ No markers found, will translate entire content"); return { translatePart: text, keepBefore: "", keepAfter: "" }; } - console.log("⚠️ 未找到前标记,仅保留后标记及之后不翻译"); + console.log("⚠️ markerBefore not found, keeping content after markerAfter as-is"); return { translatePart: text.slice(0, markerAfterIndex).trim(), keepBefore: "", @@ -115,9 +115,9 @@ function truncateWithTwoMarkers(text, markerBefore, markerAfter) { }; } - // 边界情况2:找到前标记,但没找到后标记 → 仅前标记及之前不翻译,之后全翻译 + // Edge case 2: markerBefore found but markerAfter not found → keep before markerBefore as-is, translate the rest if (markerAfterIndex === -1) { - console.log("⚠️ 未找到后标记,仅保留前标记及之前不翻译"); + console.log("⚠️ markerAfter not found, keeping content before markerBefore as-is"); return { translatePart: text.slice(markerBeforeIndex + markerBefore.length).trim(), keepBefore: text.slice(0, markerBeforeIndex + markerBefore.length), @@ -125,56 +125,56 @@ function truncateWithTwoMarkers(text, markerBefore, markerAfter) { }; } - // 正常情况:前后标记都找到 → 中间部分翻译 - console.log(`✅ 双标记定位成功: - - 前标记位置:${markerBeforeIndex} - - 后标记位置:${markerAfterIndex}`); + // Normal case: both markers found → translate the middle part + console.log(`✅ Both markers located: + - markerBefore position: ${markerBeforeIndex} + - markerAfter position: ${markerAfterIndex}`); return { - // 待翻译:前标记后 ~ 后标记前 + // To translate: between markerBefore and markerAfter translatePart: text.slice(markerBeforeIndex + markerBefore.length, markerAfterIndex).trim(), - // 保留:前标记及之前 + // Keep: before markerBefore (inclusive) keepBefore: text.slice(0, markerBeforeIndex + markerBefore.length), - // 保留:后标记及之后 + // Keep: after markerAfter (inclusive) keepAfter: text.slice(markerAfterIndex) }; } /** - * 翻译函数(整合双标记+分块+翻译+拼接) + * Translation function (integrates two-marker + chunking + translation + concatenation) */ async function translate(text, systemPrompt) { - console.log("\n📝 原始文本总长度:", text.length, "字符"); + console.log("\n📝 Original text total length:", text.length, "characters"); - // 🔥 配置两个标记(原样复制,含换行/缩进/特殊字符) - // 前标记:}; return ; })()}
+ // Configure two markers (exact copy, including newlines/indentation/special characters) + // markerBefore: }; return ; })()} const markerBefore = `}; return ; })()} `; - // 后标记:{/* Component definitions - moved to end of file for cleaner code organization */} + // markerAfter: {/* Component definitions - moved to end of file for cleaner code organization */} const markerAfter = `{/* Component definitions - moved to end of file for cleaner code organization */}`; - // 执行双标记截断 + // Execute two-marker truncation const { translatePart, keepBefore, keepAfter } = truncateWithTwoMarkers(text, markerBefore, markerAfter); - // 无待翻译内容 → 直接返回保留的前后部分 + // No content to translate → return kept parts directly if (!translatePart) { return keepBefore + keepAfter; } - // 分块翻译中间内容 + // Chunk and translate the middle content const chunks = splitTextByParagraphs(translatePart); const translatedChunks = []; for (let i = 0; i < chunks.length; i++) { - console.log(`🔄 翻译第 ${i+1}/${chunks.length} 块(字符数:${chunks[i].length})`); + console.log(`🔄 Translating chunk ${i+1}/${chunks.length} (${chunks[i].length} characters)`); const res = await withRetry(async () => { return await client.chat.completions.create({ model: "gpt-4o-mini", messages: [ { role: "system", content: systemPrompt }, - { role: "user", content: `请翻译以下文本,严格遵循系统指令:\n${chunks[i]}` }, + { role: "user", content: `Please translate the following text, strictly following the system instructions:\n${chunks[i]}` }, ], temperature: 0.0, max_tokens: 4096, @@ -183,12 +183,12 @@ async function translate(text, systemPrompt) { }); if (!res || !res.choices || res.choices.length === 0) { - throw new Error(`第${i+1}块翻译失败:API返回异常`); + throw new Error(`Translation failed for chunk ${i+1}: API returned abnormal response`); } translatedChunks.push(res.choices[0].message.content.trim()); } - // 拼接最终结果:前保留 + 翻译后的中间内容 + 后保留 + // Concatenate final result: keepBefore + translated middle content + keepAfter const translatedPart = translatedChunks.join("\n\n"); const finalResult = keepBefore + (translatedPart ? "\n" + translatedPart : "") + keepAfter; @@ -196,11 +196,11 @@ async function translate(text, systemPrompt) { } /** - * 主流程 + * Main process */ async function run() { if (!(await fs.pathExists(SRC_DIR))) { - console.log("❌ 未找到 changelog 目录,跳过翻译"); + console.log("❌ changelog directory not found, skipping translation"); return; } @@ -211,7 +211,7 @@ async function run() { const srcPath = path.join(SRC_DIR, file); const content = await fs.readFile(srcPath, "utf-8"); - console.log(`\n========== 开始处理 ${srcPath} ==========`); + console.log(`\n========== Processing ${srcPath} ==========`); for (const lang of TARGET_LANGS) { const outDir = path.join(lang.code, "changelog"); @@ -221,19 +221,19 @@ async function run() { try { const translated = await translate(content, lang.systemPrompt); await fs.writeFile(outPath, translated, "utf-8"); - console.log(`✅ 成功:${file} → ${lang.code}/changelog/${file}`); + console.log(`✅ Success: ${file} → ${lang.code}/changelog/${file}`); } catch (err) { - console.error(`❌ 失败:${file} → ${lang.code}`, err.stack); + console.error(`❌ Failed: ${file} → ${lang.code}`, err.stack); continue; } } } - console.log("\n🎉 所有文件处理完成!"); + console.log("\n🎉 All files processed!"); } -// 执行主流程 +// Execute main process run().catch((err) => { - console.error("💥 全局执行失败:", err.stack); + console.error("💥 Global execution failed:", err.stack); process.exit(1); }); \ No newline at end of file