---
title: "移动应用程序的多语言本地化"
date: "2018-02-21"
categories: 
  - "mobile"
  - "software"
  - "tools"
tags: 
  - "mobile"
  - "mobile-development"
  - "multi-language-localization"
  - "software-tools"
description: 探索如何使用MobileTogether在移动应用程序中实现多语言本地化。学习如何支持多种语言，并在不同平台上提升用户体验。
---
Status: #blog

Tags:  #mobile #mobile-development #multi-language-localization #software-tools

Categories: [mobile-development](/blog/zh/category/mobile-development.md) | [low-code+no-code](/blog/zh/category/low-codeno-code.md)
# 移动应用程序的多语言本地化

MobileTogether 提供了无缝本地化移动应用程序的多语言支持功能。这使得开发者能够构建一个版本的移动应用程序，使其能够在多种语言和多个平台上运行。

开发者可以在一个 MobileTogether 应用的设计中包含所有需要的文本翻译。当任何用户运行该应用，无论是在 Android 手机、iPhone、Windows 桌面或其他支持的平台上，应用都会自动选择与设备操作系统语言相匹配的语言。

该产品支持多语言本地化，甚至包括文本转语音功能，也已针对用户的母语进行本地化。

![](/blog/images/KS113238_700x335.jpg)

<!--more-->

在之前的[关于文本转语音](https://www.altova.com/blog/text-to-speech-for-mobile-apps/)功能的文章中，我们首先构建了一个简单的演示应用程序。 在这篇文章中，我们将使用一个增强版本，如图所示，在安卓手机上运行，以说明本地化：

[![MobileTogether 多语言本地化演示应用，适用于 Android 平台](/blog/images/mobiletogether-localization-demo-android.png)](mobiletogether-localization-demo-android.png)

我们的多语言本地化演示应用程序支持英语、德语、法语、西班牙语和意大利语等多种语言，并且可在不同平台上运行。

每个语言的文本字符串都可以在 MobileTogether 设计器中的“本地化”对话框中进行设置

[![MobileTogether 多语言本地化对话框](/blog/images/mobile-together-localization-dialog.png)](mobile-together-localization-dialog.png)

对话框的顶部区域允许开发者为应用程序中的每个控件指定不同语言的文本。例如，应用程序窗口顶部的“说话”、“静音”和“退出”按钮的翻译内容，可以在“本地化”对话框的顶部三个区域中进行设置。

当应用程序在任何用户的移动设备上启动时，设备操作系统设置中指定的默认语言将决定每个控件上显示的文本。如果最终用户使用的操作系统语言不是默认语言，则会使用“本地化”对话框中设置的默认值。

对话框顶部的绿色加号按钮允许开发者从标准语言代码列表中添加对更多语言的支持

[![移动应用程序的多语言本地化：添加一种新的语言](/blog/images/mobiletogether-add-language.png)](mobiletogether-add-language.png)

MobileTogether的多语言本地化功能甚至支持使用非拉丁字母的语言，例如使用西里尔字母的阿塞拜疆语（在上面的菜单中显示为az-Cyrl-AZ），或者日语的汉字。实际上，所有与MobileTogether一起安装的演示应用程序都已针对德语、法语、西班牙语和日语进行了本地化。以下是演示版的“抵押贷款计算器”应用程序的本地化对话框的一部分，其中指定了各种标签文本：

[![支持多种语言的本地化，包括使用非拉丁字母的语言](/blog/images/non-roman-localization.png)](non-roman-localization.png)

本地化对话框的底部部分允许开发者为命名的字符串分配文本。在我们的演示应用程序中，这些文本将显示在消息框中，并在程序运行时被朗读。

如果对于开发人员来说，将大型、复杂的应用程序中所有文本进行翻译都不可行，那么“本地化”对话框底部的“导出”和“导入”按钮允许在 MobileTogether Designer 之外，使用 XML 文件来管理多语言本地化文本。译员或其他语言专业人士可以使用类似于 Altova XMLSpy 的 [XML 编辑器](https://www.altova.com/zh/xmlspy-xml-editor)来创建或完善本地化文本。

当我们的演示应用程序启动时，一个动作组会为数据树中的节点分配正确的本地化短语

[![多语言本地化：加载用户偏好的语言版本](/blog/images/localized-message-action-group.png)](localized-message-action-group.png)

在定义了多语言本地化文本字符串后，您甚至可以在模拟过程中更改所使用的语言，以便在发布应用程序之前检查本地化效果。 “模拟语言”选项位于“项目”菜单中，提供的语言与项目中“本地化”对话框中定义的语言相对应。

[![多语言本地化，并可在新语言中进行模拟运行](/blog/images/simulation-language-menu.png)](simulation-language-menu.png)

以下是“抵押贷款计算器”演示应用程序在模拟器窗口中的运行截图，其中模拟器使用的语言为日语，并且选择的目标设备为纵向模式下的iPhone 6

[![在多语言本地化过程中，模拟移动应用程序的运行](/blog/images/japanese-simulation.png)](japanese-simulation.png)

**集合语言操作**

您可以让最终用户使用任何已本地化的语言来运行您的应用程序，而无需更改设备操作系统中的语言设置。这个功能在语言学习环境中非常有用，或者适用于在工作站或平板电脑上运行的应用程序，这些设备可能被使用不同语言的用户共享。

我们的多语言本地化演示应用程序允许用户通过下拉列表选择新的语言。应用程序随后会通过消息框确认用户的选择，然后以新选择的语言重新启动应用程序。

以下是该应用程序在 iPhone 上运行的截图。用户已经打开了语言选择下拉菜单，并滚动到“意大利语”选项，但尚未通过点击“确定”来确认选择。（在 Android 手机上，用户只需点击新的选项即可。）

[![支持多语言本地化，用户可以选择自己的语言](/blog/images/user-set-language.png)](user-set-language.png)

当用户确认了语言选择后，应用程序将重新启动，并切换到意大利语界面

[![一款移动应用程序的多语言本地化演示，该应用程序以意大利语运行](/blog/images/localized-app-running-italian.png)](localized-app-running-italian.png)

餐厅名称这一文本框中的内容会被翻译，因为它是“本地化”对话框中定义的标准文本字符串之一

[![为多语言本地化翻译移动应用程序的消息](/blog/images/localized-startup-text.png)](localized-startup-text.png)

该演示应用程序的开发者希望表现得周到，避免让任何用户意外地被困在不熟悉的语言环境中，因此，设置新语言时，会执行以下几个步骤：

![](/blog/images/mobile-app-set-language-actions.png)

首先，一个文本转语音功能会用当前应用程序的语言朗读一条重启警告信息。

其次，会弹出一个消息框，其中包含与之前相同的重启警告信息，并且显示在当前语言下，提供“确定”或“取消”两个选项。

如果用户选择“确定”，则 `userLanguage` 元素将被更新，其值将设置为下拉框中用户选择的语言，然后“设置语言”操作将重新启动应用程序。

如果用户选择“取消”而不是“确定”，下拉框的选择将恢复到当前语言，应用程序将继续运行，不会更改语言，并等待下一次用户输入。

您可以尝试对自己的跨平台移动应用程序进行本地化，方法是[下载免费的 MobileTogether Designer 软件](https://www.altova.com/zh/download/mobiletogether.html)。该软件包含集成帮助文档、教程以及许多示例应用程序。
