CVAT 多语言配置实战:4 步完成国际化部署,让界面跟着团队语言走

发布时间:2026/9/10 21:44:28

CVAT 多语言配置实战:4 步完成国际化部署,让界面跟着团队语言走 CVAT 多语言配置实战4 步完成国际化部署让界面跟着团队语言走【免费下载链接】cvatComputer Vision Annotation Tool (CVAT) is a leading platform for building high-quality visual datasets for vision AI. It offers open-source, cloud, and enterprise products, as well as labeling services, for image, video, and 3D annotation with AI-assisted labeling, quality assurance, team collaboration, analytics, and developer APIs.项目地址: https://gitcode.com/GitHub_Trending/cvat/cvat这篇 CVAT 多语言支持指南面向刚接手部署的同学读完后你能在 CVAT 上启用 CVAT 中文界面、日文界面等自定义语言学会用前端语言包 Django 后端翻译 环境变量三层配合完成一套可切换的多语言环境并掌握浏览器语言自动检测与手动切换的验证方法。先想清楚你的团队为什么要上 CVAT 国际化场景一你的标注团队横跨国内和德国外包同事只会说德语。如果界面停留在英文光属性标签这类术语每天就会制造几十次理解偏差。给界面加上德语文档包后新人培训时间从两周缩短到三天。场景二你要向一家日本客户交付标注平台 demo。演示时切换成日文 CVAT 界面对方直接上手点了一遍订单当场敲定。语言不只是锦上添花它直接影响协作效率和成交率。CVAT 的多语言体系分两层前端是 React 应用 JSON 语言包负责界面文案后端是 Django 的国际化机制负责 API 报错、邮件等消息。两层都配好才算完整。![CVAT 标注界面截图右侧属性面板中的标签与按钮文案是 CVAT 语言包翻译的主要对象](https://raw.gitcode.com/GitHub_Trending/cvat/cvat/raw/2b75e8fdc0a4242b93deea076c1bbad7c8e67c85/site/content/en/images/Attribute annotation mode_01.png?utm_sourcegitcode_repo_files)4 步配置 CVAT 多语言整体流程如下图所示跟着往下走即可第 1 步确认并开启支持语言列表先决定要上哪些语言。原则是够用就好默认en按团队需要追加zh-hans、ja、de等。在 Django 设置文件 中确认这几个开关已就位LANGUAGE_CODE en-us # 兜底语言 USE_I18N True # 打开国际化总开关USE_I18N True是前提关了它后面所有翻译都不生效。第 2 步编写前端语言包CVAT 前端界面文案走 JSON 语言包放在 cvat-ui 源码目录 对应位置每种语言一个文件。en.json是基准其他语言照抄键、只改值// en.json基准语言 { common: { save: Save, cancel: Cancel, delete: Delete }, annotation: { rectangle: Rectangle, polygon: Polygon } }// zh.json中文语言包 { common: { save: 保存, cancel: 取消, delete: 删除 }, annotation: { rectangle: 矩形, polygon: 多边形 } }两个要点键名必须与en.json完全一致少一个键运行时就回退显示英文。翻译时保留占位符比如Task %s created不要译成任务创建成功而丢掉%s。第 3 步后端 Django 语言设置与翻译标记后端只需最小必要配置。在cvat/settings/base.py中补充允许的语言列表和本地化目录LANGUAGES [ (en, English), (zh-hans, 简体中文), (ja, 日本語), ] LOCALE_PATHS [ os.path.join(BASE_DIR, locale), ]然后在后端代码里给需要翻译的字符串加上标记以cvat/apps下的代码为例from django.utils.translation import gettext as _ return JsonResponse({detail: _(You do not have permission)}, status403)标记完成后执行提取与编译python manage.py makemessages -l zh_Hans -l ja python manage.py compilemessages第 4 步部署环境变量 验证把语言配置放进部署环境变量改一处即可全局生效不用重新打镜像。以 docker compose 为例services: cvat: environment: - LANGUAGE_CODEen-us - SUPPORTED_LANGUAGESen,zh-hans,ja验证方法三步走启动服务后把浏览器语言改成zh-CN打开页面看是否自动呈现中文界面用curl -H Accept-Language: ja请求 API检查报错消息是否返回日文在页面上手动切换语言刷新一次确认偏好被记住。CVAT i18n 环境变量一览表环境变量描述默认值可选值LANGUAGE_CODE后端兜底语言未匹配时使用en-usen-us、zh-hans、ja等 BCP 47 代码SUPPORTED_LANGUAGES允许切换的语言白名单en逗号分隔如en,zh-hans,jaREACT_APP_DEFAULT_LANGUAGE前端构建时写入的默认语言enen、zh、ja等REACT_APP_SUPPORTED_LANGUAGES前端语言切换器展示的语言en逗号分隔需与后端白名单对齐⚠️ 注意前后端两份语言列表必须对齐。前端列表比后端多会出现切了但没生效的假象。浏览器语言自动检测与手动切换CVAT 的前端在首次加载时会做三层判断读localStorage里保存的用户偏好有就直接用没有偏好就取navigator.language如zh-CN映射到支持列表里的zh-hans映射不上则回退到en。用户在页面上手动切换语言后选择会被写回localStorage下次访问不再走自动检测。这意味着自动检测只对第一次访问生效之后以用户手动选择为准——测试时如果切换不生效先清一下站点存储再试。常见问题排查现象原因处理方法界面上个别词是英文语言包缺键补齐对应键并重新构建前端CVAT 语言包机制默认回退英文不会报错切换语言后有明显延迟语言包按需加载首访慢属正常若持续卡顿检查语言包 JSON 体积是否异常阿拉伯语/希伯来语排版混乱未处理 RTL 方向为对应语言容器加dirrtl及 CSS 方向覆盖日期、时间格式不对未启用本地化格式前端用 dayjs 等库加载对应 locale 后再渲染日期写在最后CVAT 国际化的核心就一句话前端语言管看得见的字Django 翻译管接口吐出的话环境变量把两者串起来。一条可直接执行的建议正式切流之前先在测试环境跑一遍语言包键数对比 全语言走查确认每种语言的键与en.json一一对应、无占位符丢失再上生产。【免费下载链接】cvatComputer Vision Annotation Tool (CVAT) is a leading platform for building high-quality visual datasets for vision AI. It offers open-source, cloud, and enterprise products, as well as labeling services, for image, video, and 3D annotation with AI-assisted labeling, quality assurance, team collaboration, analytics, and developer APIs.项目地址: https://gitcode.com/GitHub_Trending/cvat/cvat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/10 22:29:34

Flipper Zero 乱码排查记录:一个根因,四处改动

Flipper Zero 乱码排查记录:一个根因,四处改动 【免费下载链接】flipperzero-firmware Flipper Zero firmware source code 项目地址: https://gitcode.com/GitHub_Trending/fl/flipperzero-firmware Flipper Zero 固件(flipperzero-f…

2026/9/10 22:29:34

降重降AI两不误!2026这3款降AIGC网站太强了!

谁还在为AI生成论文的AI率太高发愁?明明用AI省了时间,结果查重时AIGC率超标,直接被老师打回重写,熬夜改到崩溃真的太窒息了!最近被问最多的就是“有没有可以自动降AI率的论文生成工具”,作为过来人&#xf…

2026/9/10 16:39:38

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 0:00:55

目录对比去重实战:用哈希算法精准清理重复文件

我电脑里现在还有一块换了三次机的“数据墓地”硬盘,里面存着2016年以前所有旧笔记本的完整备份。平时不觉得有什么,直到前阵子想把它整理归档,发现同一个安装包、同一批照片、同一份论文草稿,在几个不同的备份目录里反复出现。更…

2026/9/10 0:00:55

Leaflet离线地图完整Demo合集:内网部署与坐标纠偏实战

简介:这是一份面向Web GIS开发者的LeafLet离线地图示例合集,帮助开发者快速掌握离线地图从搭建到交互的完整流程。压缩包共723个文件,大小14.06MB,以319个js脚本、175个html页面和29个css样式文件为主体,配合png/svg图…

2026/9/10 0:00:55

MATLAB读取Rinex 3.02观测文件:多系统GNSS数据解析实战

简介:基于MATLAB开发的Rinex3.02版观测文件(o文件)读取代码包,面向卫星定位导航方向的学习者与研究人员,用于解决新版观测文件的数据解析、历元提取与时间转换问题。压缩包共4个文件,包含两个m脚本、一个19…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/10 15:49:53

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码