十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

WebGoat 中文界面怎么开?3 种切换方法 + 多语言汉化源码级定位(实测)

WebGoat 中文界面怎么开?3 种切换方法 + 多语言汉化源码级定位(实测) WebGoat 中文界面怎么开3 种切换方法 多语言汉化源码级定位实测【免费下载链接】WebGoatWebGoat is a deliberately insecure application项目地址: https://gitcode.com/GitHub_Trending/we/WebGoat打开 WebGoat 主页满眼英文课程标题先别急着劝退。说下结论官方支持英语、德语、法语、荷兰语、西班牙语 5 种语言没有中文。但语言切换本身很简单而想自己加一套中文界面也就是多放几个资源文件的事。语言切换 3 种入口国旗下拉、URL 参数、浏览器自动判断国旗下拉菜单最省事登录进主页后看页面右上角那排小国旗图标点开会展开 English / Deutsch / Français / Nederlands / Español 五个选项。选哪个都直接跳回 Introduction 页这是固定行为不是跳转 bug。一个小细节README_I18N.md 里只写了 4 种语言但main_new.html的下拉菜单里已经有西班牙语了以实际界面为准。?langxx直接写进 URL下拉菜单本质上是链接每项都指向/start.mvc?langxx#lesson/WebGoatIntroduction.lesson所以你可以手动拼比如/WebGoat/start.mvc?langde#lesson/WebGoatIntroduction.lessonlang参数在任意页面都生效想切法语就把值改成fr。Accept-Language让浏览器替你决定什么都不点也行。你浏览器的语言偏好是德语首次打开页面 WebGoat 就直接给你德语界面。浏览器语言不在支持列表里比如zh就静默回落到英语——这就是中文用户默认看到全英文的原因。语言切换原理三步就讲完翻了一下源码机制比想象中薄记住谁解析、参数从哪来、资源怎么加载三步核心配置就两个 Bean在 MvcConfiguration.java 里一共 8 行Bean public LocaleResolver localeResolver() { SessionLocaleResolver localeResolver new SessionLocaleResolver(); return localeResolver; } Bean public LocaleChangeInterceptor localeChangeInterceptor() { LocaleChangeInterceptor lci new LocaleChangeInterceptor(); lci.setParamName(lang); return lci; }文字从哪来分三层文件层级文件位置例子全局标签按钮、菜单i18n 目录 的messages_xx.propertiesmessages_de.properties课程正文各课程 documentation 目录带语言后缀的 adocIntroduction_es.adoc课程内标签各课程自带i18n/WebGoatLabels_xx.propertieschallenges 课程的WebGoatLabels_fr.properties所谓切换语言就是换一套文件来读。课程正文走的是按语言后缀找 adoc的约定找不到就回英文所以德语版也夹杂大量英文。汉化贡献5 步清单以下按 README_I18N.md 的规范整理。只想补翻译的话第 2 步可以跳过。在 i18n 资源目录 新建messages_zh.properties翻译全局标签在main_new.html下拉菜单加中文选项并在webgoat/static/css/img/放入国旗图zhlang.svg可选复制课程 adoc 正文文件名加_zh后缀放入对应课程 documentation 目录可选给重点课程补WebGoatLabels_zh.properties跑mvn clean确认 LabelAndHintIntegration 集成测试通过再启动实例肉眼验证messages_zh.properties最小可用模板长这样文件按 UTF-8 读取中文直接写即可# src/main/resources/i18n/messages_zh.properties welcome欢迎 login.username用户名 login.password密码 lesson课程 mailbox邮箱避坑速查最常问的 4 个问题现象原因动作切换后部分课程仍是英文该课程没有对应语言的 adoc 或 labels 文件只补那一课的翻译其余不动会话过期后变回英文语言存在 session 里session 没了就没了重新选一次国旗需持久化可换成CookieLocaleResolverlangzh无效压根不存在 zh 资源文件先按上面 5 步把文件补齐浏览器设成中文页面仍英文zh不在支持列表默认回落en正常行为临时用浏览器翻译插件接下来你可以只想用国旗下拉切到最熟的语言配合浏览器翻译插件跑课不耽误进度想翻译挑一门你最有感觉的课程先补它的 adoc 和WebGoatLabels_zh.properties再提 PR小步快跑想验证本地mvn clean跑完 LabelAndHintIntegration 测试比手工点页面快得多基于 4.1.1 验证2026-09-17 更新【免费下载链接】WebGoatWebGoat is a deliberately insecure application项目地址: https://gitcode.com/GitHub_Trending/we/WebGoat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表