这段时间给一个产品做国际化版本,找了些资料,MSDN 网站上的
Globalization Step-by-Step 内容不错
,出成了一本书《 Developing International Software
》,网上有电子版下载。
里面的注意事项和指导原则比较有用,作个摘要翻译下。
国际化
Unicode、UTF-8、UTF-16
本地文化注意事项
日期和日历格式
时间格式
货币格式
大小写格式
排序和字符串比较
数字格式
地址
纸张大小
电话号码
度量单位
文本输入输出和显示
键盘布局、输入法
字体
多国语言(MUI)
2000/XP 之后才支持
本地化能力
软件本地化能力指南
分离要本地化的资源
任何在不同语言环境需要转换的程序界面元素
菜单
消息
对话框
提示
图片
声音
工具栏
状态栏
常量
字符串处理
避免运行时拼凑字符串
需要用变量代替字符串的时候,起一个唯一的名字
.NET 框架中使用 String.Format
禁止混合几个变量
如 "%d:%d%s on %s, %s %d, %d",无法翻译 on 的意思
把一个完整的句子只放在一个字符串里
因为不同语言的各种语性的单词顺序可能不一样;
整句上下文有利于理解并翻译
注意字符串缓冲区大小
界面本地化考虑
控件大小变化
页面大小变化
微软内部遵循的 HAL(HTML AutoLayout)原则:
1、从不使用绝对定位
2、对话框使用合理的宽度和调度(百分比)
3、每个控件在单独的一个单元里
4、允许文本换行
5、把单选按钮、复选框和其标签分离
6、预留空间,避免固定宽度
7、定义按钮、列表框、组框改变大小的方法
8、规定何时要设置高度
9、表格不使用左对齐或右对齐
10、避免使用本地化时要修改的 CSS
UI 控件的本地化能力
嵌入在文本中间的控件(类似图文混排)要分离出来
隐藏或者是重叠的控件,很容易忽略掉
按钮文本尽量不要通过字符串来赋值
图片和图标
避免与文化相关的图标(文化背景不同的理解不一样)
避免显示人体部位
了解不同文化中的性别角色
避免涉及到宗教
避免政治符号
避免在图片中加文本
镜像(从左到右、从右到左)
内容本地化能力指南(打印文档、在线文档、帮助文档等)
尽量简单(是指用词造句上的简单),保持一样的风格
内容一定要当地文化可以接受、政治上正确,不管是否本地化都对国际用户无恶意
模板一致
保证帮助文档的功能性
里面的注意事项和指导原则比较有用,作个摘要翻译下。
国际化
Unicode、UTF-8、UTF-16
本地文化注意事项
日期和日历格式
时间格式
货币格式
大小写格式
排序和字符串比较
数字格式
地址
纸张大小
电话号码
度量单位
文本输入输出和显示
键盘布局、输入法
字体
多国语言(MUI)
2000/XP 之后才支持
本地化能力
软件本地化能力指南
分离要本地化的资源
任何在不同语言环境需要转换的程序界面元素
菜单
消息
对话框
提示
图片
声音
工具栏
状态栏
常量
字符串处理
避免运行时拼凑字符串
需要用变量代替字符串的时候,起一个唯一的名字
.NET 框架中使用 String.Format
禁止混合几个变量
如 "%d:%d%s on %s, %s %d, %d",无法翻译 on 的意思
把一个完整的句子只放在一个字符串里
因为不同语言的各种语性的单词顺序可能不一样;
整句上下文有利于理解并翻译
注意字符串缓冲区大小
界面本地化考虑
控件大小变化
页面大小变化
微软内部遵循的 HAL(HTML AutoLayout)原则:
1、从不使用绝对定位
2、对话框使用合理的宽度和调度(百分比)
3、每个控件在单独的一个单元里
4、允许文本换行
5、把单选按钮、复选框和其标签分离
6、预留空间,避免固定宽度
7、定义按钮、列表框、组框改变大小的方法
8、规定何时要设置高度
9、表格不使用左对齐或右对齐
10、避免使用本地化时要修改的 CSS
UI 控件的本地化能力
嵌入在文本中间的控件(类似图文混排)要分离出来
隐藏或者是重叠的控件,很容易忽略掉
按钮文本尽量不要通过字符串来赋值
图片和图标
避免与文化相关的图标(文化背景不同的理解不一样)
避免显示人体部位
了解不同文化中的性别角色
避免涉及到宗教
避免政治符号
避免在图片中加文本
镜像(从左到右、从右到左)
内容本地化能力指南(打印文档、在线文档、帮助文档等)
尽量简单(是指用词造句上的简单),保持一样的风格
内容一定要当地文化可以接受、政治上正确,不管是否本地化都对国际用户无恶意
模板一致
保证帮助文档的功能性