NLS 启用的产品。
这一步涵盖了编码技术和用户界面设计问题。启用产品的本地语言支持(National Language Support (NLS))确保了产品是为本地语言功能设计的,并且产品使用适当的 API 来处理本地语言数据。在这一步骤中,必须权衡并考虑智能编码的做法(如避免硬编码字符串、使输入缓冲区足够大可以容纳可翻译的文本、正确地解析包含非拉丁字符的字符串、不对作为文件格式一部分保存的字符串进行本地化,以及从程序代码中分离本地语言元素),这样投入最小的费用和精力就可以完成翻译。
这里,我们看到一个可翻译文本、不可翻译文本和“灰色区域”可翻译文本的混合体,它们都是标记属性。显然, id 和 class 属性是不可翻译的,因为它们表示编程标识。同样,可以肯定应该翻译 name 属性。
您也许会考虑翻译 version 属性(由于与语言环境相关的十进制分隔符)或 provider 属性(由于与语言环境相关的法律属性“Inc.”),因为将向最终用户显示它们。但是,版本号通常是不翻译的,有两个原因:最终用户不关心数值的意义,程序员有时编写的代码希望版本号是类似于“3.5.4”的复合字符串。将版本信息存储成单独的数字(如主、次和服务更新)以避免需要解析版本字符串,这大概是一个更好的设计决策,但这个讨论已经超出了本文的范围。
provider-name 也不翻译,因为“Inc.”具有法律意义,因而难以精确翻译。在标识了需要外向化哪些文本之后,现在示例如下所示: