# 1. 代码中的用户可见字符串硬编码为什么是质量问题,i18n 资源管理与占位符规范如何设计? A 抽到资源文件用语义化 key-value 管理,变量用占位符,lint 禁止硬编码,实现多语言与文案解耦 ✓ 正确答案 B 硬编码字符串简单直接,是首选 C 占位符用字符串拼接即可 D 资源文件无需版本管理
# 2. 国际化(i18n)与本地化(l10n)的区别中代码层如何做到"一次开发多语言适配",资源文件与硬编码的边界? A i18n 与 l10n 完全等价 B 生成环境才需要 i18n C 所有字符串都必须硬编码 D i18n 是设计层多语言能力、l10n 是特定语言适配;一次开发多语言靠资源隔离+locale 机制+标准格式化,用户可见文本进资源,内部技术字符串可硬编码 ✓ 正确答案
# 3. 多语言文案的发布解耦中资源文件如何独立于代码发布与热更新,文案变更的审批与生效节奏如何设计? A 文案必须随代码发版,不能热更新 B 文案变更无需审批,随意改 C 资源文件独立于代码,可热更新;文案变更走审批流程,按重要性决定即时或灰度生效 ✓ 正确答案 D 资源文件只能内嵌在代码里
# 4. 文本长度、排序与大小写转换在中文/日文/阿拉伯文等语言下的差异如何处理? A 文本一律按字节长度计算 B 排序用默认字节序即可 C 长度按 Unicode 字符/显示宽度、排序用 ICU collation、大小写用 locale 感知 API,覆盖 CJK/阿拉伯文/土耳其文 ✓ 正确答案 D 大小写用 ASCII 转换即可
# 5. 本地化消息中的复数、性别与占位符在中文/英文/阿拉伯语下的差异,ICU MessageFormat 如何设计? A 统一用英文单复数规则即可 B 用 plural(多类复数 zero/one/two/few/many/other)与 select(性别)选择器,占位符 {n} 传变量,由引擎按 locale 渲染 ✓ 正确答案 C 中文也有语法复数,需复数分支 D 复数逻辑需在代码中硬编码
# 6. RTL 语言(阿拉伯语/希伯来语)的布局镜像与混合文本方向(bidi)在代码层如何支持? A 用逻辑属性(margin-inline-start)+ dir 属性 + bidi 隔离实现镜像,程序不硬编码左右方向 ✓ 正确答案 B 用物理属性 margin-left 实现布局 C RTL 只需右对齐文本即可 D 混合文本方向无需处理
# 7. Unicode 与编码处理中 UTF-8/UTF-16 的区别、代理对(surrogate pair)、规范化(NFC/NFD)在代码中的注意点? A String.length 就是字符数 B 代理对需按码点处理(length 不代表字符数),比较/存储前做 NFC 规范化,避免截断与歧义 ✓ 正确答案 C 所有字符都用 UTF-16 码元计数 D 无需处理规范化
# 8. 日期、时间、数字与货币格式中时区处理、夏令时、ICU/ECMA-402 的正确用法,为何格式化不能在前端硬编码、服务端如何下发? A 前端硬编码 YYYY-MM-DD 格式即可 B 用本地时间存储即可 C 时间存 UTC 处理夏令时,格式化用 ICU/ECMA-402 按 locale 渲染,服务端下发规范数据,前端不硬编码格式 ✓ 正确答案 D 货币四舍五入规则由前端决定
# 9. 本地化测试与回归中语言切换、翻译缺失、文案截断、字数膨胀的自动化验证,伪本地化(pseudo-localization)如何纳入 CI? A 用伪本地化膨胀文本暴露布局/硬编码/编码问题,配合资源 key 完整性校验,纳入 CI 自动回归 ✓ 正确答案 B 只测英文,不测其他语言 C 翻译缺失无需检查 D 伪本地化需要真实翻译
# 10. 多语言文案的 key 设计规范中语义化 key vs 展示文本作 key 的取舍,key 命名空间与占位符参数如何管理? A 用语义化 key 表达业务概念,按命名空间组织,占位符参数化,避免文案变化导致 key 失效 ✓ 正确答案 B 用展示文本作 key,直观 C key 无需命名空间 D 占位符用随机命名
# 11. i18n 框架选型中 ICU MessageFormat、gettext、resx、i18next 等按团队场景如何选择,与构建、发布流程如何集成? A 所有场景都用同一个框架 B 只选前端框架,忽略后端 C 按技术栈、复数/性别复杂度、生态选型(ICU/gettext/resx/i18next),并与构建(资源校验、打包)和发布(独立更新、翻译流程)集成 ✓ 正确答案 D 框架与构建流程无关
# 12. 翻译缺失的运行时回退链中 locale 到语言、默认语言再到 key 的降级顺序与缺失告警如何设计? A 缺翻译就直接显示 key,无需告警 B 只回退到默认语言,跳过地区差异 C 按 locale→语言→默认语言→key 逐级回退,末级用 key 兜底并告警驱动补齐,保证任何 locale 可展示 ✓ 正确答案 D 缺失时不显示任何内容
# 13. 本地化消息中的富文本与链接安全中翻译文案含 HTML 或 URL 时如何避免注入,占位符与富文本如何分离? A 翻译文案直接当 HTML 渲染 B 默认转义,富文本用受控语法+白名单清化,URL 校验协议,占位符与富文本分离,防止 XSS ✓ 正确答案 C 翻译内容可信,无需处理 D 链接不校验协议
# 14. RTL(从右到左)布局与混合文本方向(bidi)在代码层面如何支持,镜像、对齐与测试要点是什么? A 用物理 left/right 属性实现布局 B 混合文本无需隔离 C RTL 只需设置右对齐 D 用逻辑属性、direction、bidi 隔离实现镜像与混合方向,测试覆盖 RTL 布局与混合文本 ✓ 正确答案
# 15. 国际化回归测试中伪本地化(pseudo-localization)与语言切换冒烟如何纳入 CI? A 只用真实翻译做手工测试 B 只测默认语言 C 伪本地化暴露布局/硬编码/编码问题 + 多 locale 语言切换冒烟 + 资源完整性校验,纳入 CI 自动回归 ✓ 正确答案 D 语言切换只需人工验证
# 16. 字符串硬编码的治理中资源文件与 key 命名? A 硬编码字符串便于管理 B 抽到按模块组织的资源文件,用语义化层级 key 命名,lint 禁止硬编码,纳入 CI 校验 ✓ 正确答案 C key 用展示文本即可 D 资源文件无需组织
# 17. RTL 与多语言布局中文本方向的处理? A 用物理 left/right 属性 B 用 dir 属性 + 逻辑属性实现镜像,测试覆盖 LTR/RTL,避免代码硬编码方向 ✓ 正确答案 C 只支持 LTR D 文本方向与布局无关
# 18. 多语言数据的排序与搜索中 collation、大小写、分词差异在数据库与搜索引擎中的处理,如何避免排序结果随语言环境出错? A 排序用默认字节序即可 B 大小写无需处理 C 中文按空格分词即可 D 数据库用 locale collation、搜索引擎用语言分词器、大小写按 locale 折叠,显式指定 locale 避免结果随环境出错 ✓ 正确答案
# 19. 术语表治理中跨语言术语一致性如何用 glossary 与翻译平台保证,代码 key 与术语表如何联动? A 同一术语可随意不同译法 B 术语表与翻译无关 C 用 glossary 定义统一译法、翻译平台强制应用,代码 key 与术语表一致,保证代码/翻译/业务三方一致 ✓ 正确答案 D key 命名随意即可