尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

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

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),仅供参考
返回列表