---
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/ja/category/mobile-development.md) | [low-code+no-code](/blog/ja/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/) まず、機能のデモンストレーションのために、簡単なアプリを作成しました。この記事では、より高度なバージョン（以下にAndroid端末での画面を示します）を使用して、ローカライゼーションについて説明します

[![MobileTogetherの多言語対応機能をデモできるAndroidアプリケーション](/blog/images/mobiletogether-localization-demo-android.png)](mobiletogether-localization-demo-android.png)

弊社の多言語対応ローカライズデモアプリは、英語、ドイツ語、フランス語、スペイン語、イタリア語といった複数の言語に対応しており、クロスプラットフォームでの利用が可能です。

各言語で使用されるテキストは、MobileTogether Designerのローカライズ設定ダイアログで割り当てられます

[![MobileTogetherの多言語対応機能に関する設定画面](/blog/images/mobile-together-localization-dialog.png)](mobile-together-localization-dialog.png)

このダイアログの上部には、アプリケーション内の各コントロールに対して、異なる言語でのテキストを設定する機能があります。例えば、アプリケーションウィンドウの上部にある「発話」「無音」「終了」ボタンは、このダイアログの上部の3行にそれぞれの翻訳が記載されています。

このアプリがユーザーのモバイルデバイスで起動される際、表示されるテキストは、デバイスのオペレーティングシステムの設定で指定されたデフォルトの言語によって決定されます。もしユーザーが別の言語設定を使用している場合、ローカライゼーション設定画面で指定されたデフォルト値が適用されます。

ダイアログの上部にある緑色の「＋」ボタンをクリックすると、開発者は、標準的な言語コードのリストから、追加の言語への対応を追加することができます

[![モバイルアプリの多言語対応：新しい言語の追加](/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)

ローカライズダイアログの下部には、開発者が名前付き文字列にテキストを割り当てるための領域があります。当社のデモアプリでは、これらの文字列はメッセージボックスに表示されたり、実行中に音声で読み上げられたりします。

大規模で複雑なアプリケーションの場合、開発者がすべてのテキストを翻訳することが現実的でない場合、Localization（ローカライズ）ダイアログの下部にある「エクスポート」と「インポート」ボタンを使用することで、MobileTogether Designerの外にあるXMLファイルで、複数の言語に対応したローカライズテキストを管理できます。翻訳者やその他の言語の専門家は、Altova XMLSpyのような[XMLエディタ](https://www.altova.com/ja/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)

まず、テキスト読み上げ機能が、現在使用しているアプリケーションの言語で、再起動に関する警告メッセージを読み上げます。

次に、同じ再起動に関する警告メッセージが表示されます。このメッセージも現在の言語で表示され、「OK」または「キャンセル」の選択肢が表示されます。

ユーザーが「OK」を選択すると、コンボボックスで選択された値が「userLanguage」要素に設定され、その後、「言語設定」アクションがアプリケーションを再起動します。

もしユーザーが「OK」ではなく「キャンセル」を選択した場合、コンボボックスの選択は現在の言語にリセットされ、アプリケーションは言語を変更せずに動作を継続し、次のユーザーの入力待ちとなります。

クロスプラットフォームのモバイルアプリケーションをローカライズするには、以下の方法を試すことができます [無料で利用できるMobileTogether Designerをダウンロードしてください](https://www.altova.com/ja/download/mobiletogether.html), これには、組み込みのヘルプ機能、チュートリアル、そして多くのサンプルアプリケーションが付属しています。
