尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Langfuse 国际化实录:一个“Traces“按钮上的字是怎么变身的?
Langfuse 国际化实录一个Traces按钮上的字是怎么变身的【免费下载链接】langfuse Open source AI engineering platform: LLM evals, observability, metrics, prompt management, playground, datasets. Integrates with OpenTelemetry, LangChain, OpenAI SDK, LiteLLM, and more. YC W23项目地址: https://gitcode.com/GitHub_Trending/la/langfuse如果你在用 Langfuse 做 LLM 可观测性——tracing、evals、prompt 管理那套——大概率也琢磨过Langfuse 多语言支持这件事自托管给日本同事用满屏英文报错人家直接关掉了。说白了i18n 就是让界面跟着用户的语言走。这篇文章不空谈方案我们从仓库里真实存在的配置和代码出发追踪一个界面上的词从源码到渲染的完整路径再给你一份能落地的国际化实施清单和避坑指南。先泼盆冷水Langfuse 界面现在是单语言的很多人看仓库根目录有 README.cn.md、README.ja.md、README.kr.md就以为界面也能切中文。文档翻译 ≠ 界面翻译这是两码事。打开 next.config.mjsi18n 配置长这样i18n: { locales: [en], // 只声明了英语一种 defaultLocale: en, },再翻一遍 web/package.json 的依赖列表i18next、react-intl、next-i18next统统没有。这意味着 Langfuse 目前的国际化现状是层面状态依据README 文档中/日/韩/英四语仓库根目录README.*.mdWeb 界面仅英语i18n.locales: [en]无翻译库依赖结论很直接给 Langfuse 界面加日语是一个你自己要动手的项目。好消息是它的技术栈Next.js 16 React 19 Tailwind对 i18n 相当友好下面是完整路径。追踪一个Traces文案在代码里是怎么活的在 Langfuse 侧边栏导航里Traces、Prompts、Settings 这些词是怎么来的以 AppSidebar 组件为例导航项长这样navItems: { ungrouped: [ { title: Home, url: /, icon: Home }, { title: Traces, url: /traces, icon: Activity }, { title: Prompts, url: /prompts, icon: BookOpen }, ], },看到了吗title: Traces——字面量直接硬编码在 JSX/props 里。没有 key没有资源文件没有翻译中间层。整个数据流退化成了你做的事情本质上是把箭头 A→B 这条直连改造成先查翻译表再渲染的 A→D→E→B。这也解释了为什么加语言的第一步是提取文案而不是建语言文件——文件建了但源码里还是硬编码界面一个字都不会变。三步给界面装上翻译提取 → 资源文件 → 切换器以新增日语为例路径和 语言资源目录建议结构 src/locales/ 如下Langfuse 仓库中尚无此目录以你实际 fork 为准。第 1 步提取文案。全局搜title: 、后跟大写开头单词把硬编码字符串换成 key。侧边栏那几行变成{ title: t(nav.traces), url: /traces, icon: Activity } // 资源文件里定义ja/traces 对应的日文第 2 步建立资源文件。按模块拆 JSON别塞一个大文件src/locales/ ├── en/ nav.json traces.json └── ja/ nav.json traces.json// ja/nav.json —— 键与英文一一对应 { nav.traces: トレース, nav.prompts: プロンプト }第 3 步声明 locale 并做切换。在next.config.mjs的 i18n 块把locales扩成[en, ja]切换器用useRouter的 locale 能力const { locale, locales, push, asPath } useRouter(); select value{locale} onChange{(e) push(asPath, undefined, { locale: e.target.value })} {locales.map((l) option key{l}{l}/option)} /select注意next.config.mjs顶部注释提醒过若项目启用experimental.appDir内置 i18n 需注释掉见 Next.js 官方 issue 41980。Langfuse 主应用跑在 Pages Router 上这套配置可用具体以你的分支版本为准。四个高频坑问题 → 原因 → 解法坑 1缺翻译时界面直接崩。原因是只查了目标语言文件没查默认语言。解法是兜底链先查 ja查不到回退 en再查不到回退 key 本身const t (locale, key) messages[locale]?.[key] ?? messages.en?.[key] ?? key;坑 2德语把按钮撑爆。同一句提示德语经常比英语长 30%。解法是布局上给文字留弹性按钮用min-width而非固定宽度表格列用min-w-[100px]truncate别写死w-40。坑 3日期是死的。Langfuse 源码里大量 date-fns 格式串直接写英文模板比如 DatasetVersionHistoryPanel 里的format(version, MMM d, yyyy at h:mm a)——对日本用户输出的是 Sep 1, 2026 at 9:05 AM。解法是统一走Intl.DateTimeFormat按navigator.language取 locale别手写模板串。坑 4切换语言整页刷新状态全丢。用内置push带 locale 会触发整页导航用户筛选条件、展开的表格全没了。解法是优先做客户端级切换翻译资源放 Context/Store 里切换只重渲染不跳路由确需路由级 locale 前缀时切换前把关键状态存 localStorage。附RTL 布局若未来支持阿拉伯语Tailwind 里别用left-4这类物理方向类换start-4/end-4逻辑方向类省掉整套[dirrtl]覆盖。从 2 种语言到 20 种规模化工作流语言一旦超过 3 种靠人肉 diff 必挂。三件套术语表先行。产品核心词先定死Trace / Observation / Evaluation / Prompt 在中日韩怎么译写进一份术语表翻译前分发。否则 20 种语言 20 种译法客服会疯。CI 完整性检查。加一个脚本遍历所有 locale 目录校验键集合与en完全一致缺键、多键、空值直接让流水线红掉。提取 校验两条命令挂到 pre-commit 和 CI 各一份。AI 初翻 人工审校。让 LLM 批量产出初稿塞进资源文件人工只审术语一致性和语气。初翻覆盖率能到 90%人力成本砍掉一大半——注意 AI 翻出来的术语仍要过术语表校对别省这一步。快速参考事项位置 / 做法i18n 声明next.config.mjs 中i18n.locales当前仅[en]硬编码文案重灾区web/src/components/nav/、web/src/features/日期格式化全局搜索 date-fns 的format(模板串逐个替换为Intl.DateTimeFormat资源目录建议src/locales/{locale}/{module}.json仓库暂无fork 后自建检查清单① 键齐全 ② 默认语言兜底 ③ 弹性布局不撑爆 ④ 日期/数字走 Intl ⑤ 切换不丢状态一句话总结Langfuse 目前是文档多语言、界面单语言而它的 Next.js 硬编码文案结构恰好给了你一条清晰的改造路径。现在就可以去 fork打开next.config.mjs的那个locales: [en]把ja加进去然后从侧边栏的 Traces 开始提第一个 key。【免费下载链接】langfuse Open source AI engineering platform: LLM evals, observability, metrics, prompt management, playground, datasets. Integrates with OpenTelemetry, LangChain, OpenAI SDK, LiteLLM, and more. YC W23项目地址: https://gitcode.com/GitHub_Trending/la/langfuse创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Codex 接入团队第三天,我发现真正的门槛不在模型在回滚

Codex 接入团队第三天,我发现真正的门槛不在模型在回滚

聊《Codex跑通那天,我才发现前面的学习顺序反了》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。 摘要 我把 Codex 接入团队项目一周后,线上出了一个本不该出现的 bug。排查后发现&#xf…

📅 2026/10/24 16:38:39
用 Sunshine 搭建个人游戏串流服务器:从安装到跑通第一局的完整指南

用 Sunshine 搭建个人游戏串流服务器:从安装到跑通第一局的完整指南

用 Sunshine 搭建个人游戏串流服务器:从安装到跑通第一局的完整指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine 是一个开源自托管游戏串流服务器&#xf…

📅 2026/11/7 7:51:48
Sunshine:三步搭建你的游戏串流服务器

Sunshine:三步搭建你的游戏串流服务器

Sunshine:三步搭建你的游戏串流服务器 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine 是一款自托管的游戏串流服务器,让你用 Moonlight 客户端在手…

📅 2026/10/9 9:09:32
MORE NEWS

更多资讯

📰

红本中级电工证含金量高吗?怕考不过白交培训费的别错过

红本中级电工证含金量高吗?怕考不过白交培训费的别错过 怕考不过白交培训费?别急,红本中级电工证含金量高不高,关键在你选对了路。今天就带你一步步看清楚怎么拿证、怎么用证、怎么续证,不走弯路,少花冤枉钱。 红本中级电工证到底是什么?…

📰

织金技校办电工证怎么考官方报名入口在哪找

织金技校办电工证怎么考官方报名入口在哪找 之前考的证在外省能不能转过来?这是很多学员问得最多的。特别是从外省过来的学员,比如从贵州毕节、贵阳,甚至更远的四川、重庆等地过来,都想知道自己手中的电工证能不能在当地顺利使用。其实,现在国家对特种作…

📰

顺庆区考电工证怎么过实操考试?官方报名入口全攻略来了

顺庆区考电工证怎么过实操考试?官方报名入口全攻略来了 实操考试心里没底怕挂科?顺庆区考电工证的报名流程你搞清楚了吗?别再稀里糊涂去考试,看完这篇,报名入口、考试重点、备考技巧都给你整明白了。 案例背景:一个开封在职建筑工人的电工证之路…

📰

绵阳办电工证在哪里办多少钱最划算

绵阳办电工证在哪里办多少钱最划算 你是不是也这样,听说要考电工证,满大街找机构,结果越找越迷糊,不知道哪家靠谱,怕被中介坑,还担心 多少钱 才够?别急,今天就给你讲明白,绵阳办电工证到底该去哪办,怎么避坑, 多少钱 才合理,别再被忽悠了。…

📰

木工瓦工不是特种工吗上岗必备的真相和转证攻略

木工瓦工不是特种工吗上岗必备的真相和转证攻略 之前考的证在外省能不能转过来?这个问题,咱们工地上的木工、瓦工师傅最关心。最近不少朋友问我,木工瓦工是不是特种工?能不能直接上岗?今天就从政策、考试、转证这些角度,给你讲清楚。…

📰

三级电工证资料全攻略:证书过期了不知道怎么复审延期?电子证书怎么查?

三级电工证资料全攻略:证书过期了不知道怎么复审延期?电子证书怎么查? 证书过期了不知道怎么复审延期?别慌!现在越来越多的电工从业者开始关注【三级电工证资料】,特别是电子证书的获取与管理,直接关系到职业发展和合规上岗。本文将从鹤壁公路工程从业…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬