国际化清单

本主题提供创建支持多个市场的代码时要执行的操作。 在代码设计期间,请考虑将这些语句作为指南,并在评估生成时将这些语句视为指标。

  • 创建从一开始就考虑国际注意事项的程序规范。
    • 将图标和位图设计为在目标市场中有意义且不具有攻击性,并且不包含文本。
    • 设计菜单和对话框,为文本扩展留出空间。 例如,翻译成德语或荷兰语时,英语字符串通常扩展 40%。
    • 请勿在 UI 元素或消息中使用俚语或特定于文化的引用。
    • 创建可通过国际键盘访问的快捷键组合。 例如,避免使用标点字符键作为快捷键,因为它们并不总是在国际键盘上找到或用户很容易生成。 有关键盘布局的示例,请参阅 Windows 键盘布局
    • 考虑影响功能设计的地方法律,例如要求政府实体购买支持多种官方语言的软件。
    • 制定支持组织国际 UI 标准和设计决策的第三方协议。
    • 在必须翻译的用户界面字符串中使用一致的术语。
  • 创建独立于区域设置的代码。
    • 不要连接字符串以形成句子。
    • 请勿在多个上下文中使用给定字符串变量,例如在不同的消息和提示中重复使用句子片段,因为此类字符串可能不容易翻译。
    • 使用注释为翻译人员提供上下文的文档字符串,并清楚地标记不应本地化的字符串或字符。
    • 请勿使用假定特定语言的硬编码字符常量、数字常量、屏幕位置、文件名或路径名。
    • 使缓冲区足够大,以容纳已翻译的字符串。
    • 允许输入格式因区域设置而异的数据,例如日期、时间和货币。
    • 使用适合给定区域设置的纸张大小、信封大小和其他默认值。
    • 确保每个语言版本都可以读取由其他版本创建的文档。
    • 如有必要,请提供对特定于区域设置的硬件的支持。
    • 将不适用于国际市场的功能配置为可轻松禁用的实现选项。
  • 创建利用 Microsoft Windows 提供的国际功能的代码。
    • 使用系统携带的国际信息 (国家语言支持) 。
    • 使用系统函数进行排序、大小写转换和字符串映射。
    • 使用泛型文本布局函数。
    • 响应控制面板中的国际设置更改。
    • 处理WM_INPUTLANGCHANGEREQUEST消息。
    • 支持东亚版本中的输入法编辑器、垂直文本和换行规则。
  • 从一组源文件编译程序的所有国际版本。
    • 最大程度地减少或消除需要针对不同语言版本重新编译代码的机制。
    • 将可本地化的项(如字符串和图标)存储在 Windows 资源文件中。
    • 使用相同的文件格式以所有语言版本存储文档。
  • 支持不同的字符集,而不仅仅是拉丁语 1 代码页(数字 1252)。
    • 程序支持网络环境,其中计算机运行具有不同默认代码页的操作系统。
    • 使用 GetCPInfoEx 检索东亚代码页的前导字节范围。
    • 分析东亚语言应用程序中的双字节字符,除非代码基于 Unicode。
    • 支持 Unicode 或 Unicode 与本地代码页之间的转换。
    • 不要假设所有字符都是 8 位或 16 位。
    • 使用泛型数据类型和泛型函数原型。
    • 使用字体字符集属性,该属性调用 EnumFontFamiliesEx 和 ChooseFont 公共对话框函数。
    • 使用适合区域设置的字体显示和打印文本。
  • 测试程序的国际功能。
    • 翻译的文本应符合母语人士的标准。
    • 显示不同语言时,对话框应正确调整大小,并且文本应正确连字符。
    • 对于所有已翻译的语言,对话框、状态栏、工具栏和菜单应适合屏幕,并在以不同分辨率设置屏幕时清晰阅读。
    • 菜单和对话框快捷键应是唯一的。
    • 用户应该能够在文档、对话框和文件名中键入非欧洲脚本中的字符。
    • 用户应能够成功剪切、粘贴、保存和打印非欧洲脚本中的字符。
    • 排序和大小写转换应针对不同的区域设置准确。
    • 应用程序应在本地化版本的 Windows 上正常工作。