比你想象的复杂 游戏本地化的语言工作如何进行?
确定本地化的目标语言之后,请评估在应用中支持这些语言需要完成哪些工作并提前做出规划。 要考虑的事项包括每种语言的词汇扩展、脚本要求、字符间距、换行限制、支持文字“从左到右”和“从右到左”,以及其他可能遇到的问题。
设计一套灵活的布局
在创建布局时,确保包含文字的界面元素拥有充足的空间。 最好在满足您的语言的基础上多出部分空间(通常留出 30% 的空间)以适应其他语言。
另外,元素应能够横向或纵向扩展,以便可以适应不同宽度和高度的界面字符串或输入文本。 任何目标语言的文本字符串都不应与边框或屏幕边缘重叠。
如果界面设计得当,通常您就可以针对所有支持的语言使用一套布局。 有关详情,请参阅构建灵活的界面。
构建灵活的界面
在设计支持各种屏幕尺寸的应用时,你可以在不同的布局配置中重复使用 Fragment ,以便根据相应的屏幕空间提供更出色的用户体验。
例如,一次只显示一个 Fragment 可能就很适合手机这种单窗格界面,但在平板电脑上,你可能需要设置并列的 Fragment,因为平板电脑的屏幕尺寸较宽阔,可向用户显示更多信息。
两个 Fragment,显示在不同尺寸屏幕上同一 Activity 的不同配置中。在较宽阔的屏幕上,两个 Fragment 可并列显示;在手机上,一次只能显示一个 Fragment,因此必须在用户导航时更换 Fragment。
根据需要使用备用布局
如果您的界面不能很好地适应某种目标语言中的文本,那么您可以单独为该语言创建一套 备用布局。 Android 可让您很轻松地针对特定语言、语言区域、屏幕尺寸等,声明要加载的多种布局和其他资源,只需使用相应的资源限定符做出标记即可。 虽然备用布局可提供相应的灵活性,但使用它会导致随着时间推移,应用的维护难度增加。 一般来说,最好使用一套更灵活的布局。
支持 RTL 布局和文本
如果您要发布应用的国家/地区使用从右到左 (RTL) 的文字阅读方向,则您应该考虑旧能地支持 RTL 布局以及相应的文本显示和编辑。
Android 4.1 引入了对双向文本的有限支持,支持应用以从左到右 (LTR) 和从右到左 (RTL) 的方向显示和编辑文本。 Android 4.2 增加了对 RTL 布局的完整原生支持(包括布局镜像),因此您可以为所有用户提供一致的优质体验。
Android 4.2 用户至少可以轻松添加基本的 RTL 布局镜像,这对满足 RTL 用户需求大有帮助。
针对日期、时间、数字和货币采用系统提供的格式
如果您的应用需要可能指定因语言区域不同而不同的日期、时间、数字、货币和其他实体,请务必使用系统提供的格式,而不要使用应用专有的格式。 请注意,并非所有的语言区域都使用相同的千位分隔符、小数点或百分比符号。
Android 提供了多种实用工具,用于在不同的语言区域中设置格式和进行转换。假定用户的语言区域并据此强制设置格式,会导致在用户更改语言区域时引发问题。 强烈建议您使用系统提供的格式和各种实用工具。
包括一套完整的默认资源
提供一整套默认资源可以确保无论是何种语言或语言区域,您的应用都能正常运行。 应用的默认资源是指没有标记任何语言或语言区域限定符的资源,例如 res/drawable/ 和 res/values/ 中存储的资源。 如果您的应用试图加载目前的语言或默认资源集中没有的资源,则会崩溃。
无论您在应用中使用的默认语言是什么,请务必在默认的资源目录中存储相关的布局、图形内容和字符串,且不使用语言或语言区域限定符。