# 1. i18next、react-intl、FormatJS 的工程对比 A react-intl 是 FormatJS 的 React 封装且用 ICU 语法,i18next 用自研占位符,选型取决于框架与标准诉求 ✓ 正确答案 B i18next 也使用 ICU MessageFormat C 三者的消息语法完全相同 D react-intl 与 FormatJS 是完全独立的两套方案
# 2. ICU MessageFormat 的工程价值 A ICU MessageFormat 用 plural/select 表达复数与分类规则,配合提取编译工具链并控制嵌套复杂度 ✓ 正确答案 B ICU MessageFormat 只支持简单插值 C 复数规则只需写"其他"一种形式 D ICU 语法在所有语言中规则相同
# 3. 多语言 RTL(Arabic、Hebrew)的工程实战 A 所有图标在 RTL 下都该翻转 B RTL 适配需逻辑属性镜像布局、镜像语义性图标并正确隔离 BiDi 混合文本 ✓ 正确答案 C RTL 只需设置 dir=rtl 即可 D 物理 left/right 在 RTL 下自动翻转
# 4. Lingui、react-i18next 的现代方案 A react-i18next 的 t 函数在构建期编译 B Lingui 与 react-i18next 都在运行时解析消息 C Lingui 用编译时宏提取与 ICU 语法控制体积,react-i18next 是运行时架构、生态丰富,选型看性能与生态权重 ✓ 正确答案 D Lingui 不支持 ICU 语法
# 5. Locale 协商(Accept-Language、URL-based)的工程实战 A URL-based 利于分享与缓存,首访可结合 Accept-Language 重定向,切换后持久化并保持 lang 与内容一致 ✓ 正确答案 B 语言切换不需要持久化 C URL-based 方案不利于 SEO D Accept-Language 是最佳长期策略
# 6. i18n 的文案管理,资源文件与插值、复数规则? A 资源按命名空间与语义 key 组织,插值区分纯文本与富文本并转义,复数按 CLDR 类别提供翻译 ✓ 正确答案 B 复数文案只写一条即可 C key 应该直接使用翻译文本 D 插值值可以直接作为 HTML 输出
# 7. i18n 消息的构建时编译(Lingui macro、FormatJS compile)与运行时 ICU 数据(复数/时区规则)的体积控制与性能取舍? A 构建时编译消息为函数免运行时解析,ICU 复数与时区数据按语言按需加载并优先原生 Intl ✓ 正确答案 B 编译时消息无法进行插值 C 所有语言的全量 ICU 数据都应打包 D 运行时解析消息最节省体积
# 8. Intl.ListFormat/RelativeTimeFormat/DisplayNames 等现代 Intl API 的工程应用 A 相对时间必须手写实现 B ListFormat/RelativeTimeFormat/DisplayNames 提供语言正确的列表、相对时间与本地名称,替代手写拼接并保持 CLDR 一致 ✓ 正确答案 C ListFormat 只支持一种连接样式 D 这些 API 只支持英语
# 9. 伪本地化(pseudolocalization)在 UI 溢出、截断与编码问题测试中的应用 A 伪本地化只验证翻译质量 B 伪本地化可以替代真实翻译测试 C 伪本地化加长并替换文本,可提前暴露溢出、截断、硬编码与编码问题 ✓ 正确答案 D 伪本地化文本与源文本等长
# 10. ICU MessageFormat 的复数/性别/select 规则落地(CLDR 复数类别 one/few/many/other) A 中文复数与英语规则相同 B 所有语言都使用 one/few/many/other C 复数类别由 CLDR 按语言定义,消息须含 other 兜底,运行时按语言规则选择类别 ✓ 正确答案 D 数量为 1 时所有语言都算 one
# 11. CSS 逻辑属性(margin-inline-start、inset-block)与 dir 属性协作的 RTL 布局适配 A 逻辑圆角与物理圆角完全相同 B 逻辑属性随 dir 自动镜像 inline 轴,物理 left/right 不翻转,需避免混用以防错位 ✓ 正确答案 C 逻辑属性在 RTL 下不会改变方向 D text-align: left 会自动适应 RTL
# 12. 日期、数字、货币、复数(Pluralization)的工程价值 A toLocaleString() 无参数即可正确格式化 B 日期格式在所有地区一致 C 货币符号永远在金额前面 D 数据层存 UTC/最小单位,展示层用 Intl 格式化日期数字货币,复数交给 plural 规则 ✓ 正确答案
# 13. 翻译工作流(Crowdin、Lokalise、Phrase)的工程价值 A TMS 通过 API/CLI 与 CI 集成实现提取-翻译-回填闭环,并提供术语库与占位符校验 ✓ 正确答案 B 资源文件必须手工同步到平台 C 翻译一致性不需要工具保障 D 翻译平台只提供人工编辑界面
# 14. AI 辅助翻译(DeepL、Google Translate API)的工程实战 A MT 作为初稿接入流程,翻译前保护占位符、翻译后校验对应,并配合人工审校与术语表 ✓ 正确答案 B 翻译质量与术语表无关 C 机翻结果可以直接上线 D 机翻不需要保护 ICU 语法
# 15. 日期/数字/货币的本地化,Intl API 的使用? A 不传 timeZone 也能正确格式化本地时间 B 日期/数字/货币用 Intl 格式化,需显式传时区、金额存最小单位整数并复用格式化器实例 ✓ 正确答案 C 货币符号位置全球一致 D formatToParts 无法使用
# 16. RTL 布局与文案适配,方向切换的工程处理? A 方向切换只需改一个 CSS 类 B 电话号码在 RTL 下会自动反向 C 切换 dir 并靠逻辑属性镜像布局,标点图标按规则翻转,LTR 片段用 dir 隔离并持久化语言选择 ✓ 正确答案 D 数字在 RTL 中永远反向
# 17. RTL 与 BiDi 文本,阿拉伯语/希伯来语的数字方向、Unicode Bidi Algorithm 与 dir=auto 在混合文本场景的处理? A 弱字符不会影响 BiDi 排列 B 阿拉伯语数字方向永远与希伯来语相同 C UBA 按基础方向与数字类别排列混合文本,短嵌入片段用 bdi 隔离,用户内容用 dir=auto 并配合 bdi ✓ 正确答案 D dir=auto 可解决所有混合文本问题