ICU MessageFormat 为什么适合复杂国际化文案?
使用消息中的变量、选择、复数和嵌套分支表达自然语言,避免把句子拆成难以翻译的字符串片段。
参考答案
复杂文案常同时包含变量、性别、复数和选择分支。ICU MessageFormat 让翻译文本在一个消息中表达这些语义,翻译人员可以调整词序,而不是被迫在代码里拼接片段。
消息分支要覆盖 other,并让变量有明确类型和格式化规则。嵌套选择会增加维护成本,应保持消息短小、可测试,并避免把 HTML 或未经处理的用户输入直接作为消息模板执行。
国际化系统还要处理缺失翻译、格式错误、回退语言和动态加载。消息解析器的版本、语法和安全策略要固定,不能把任意用户文本当成可执行消息。