複数の言語をサポートしているアプリがある場合は、翻訳エディターを使用します。 全ての文字列リソースを一箇所で閲覧、管理、ローカライズできるようにするため、翻訳エディターでは既定テキストと翻訳テキスト (文字列リソース)を全て一画面に表示してまとめて編集できるビューが用意されています。
プロジェクトの文字列リソースは、 strings.xml
ファイルに含まれています。
プロジェクトは、アプリの既定言語で書かれた文字列リソースを保持している既定の strings.xml
ファイルを持っています。
既定の言語とは、あなたのアプリのユーザーのほとんどが使用しているであろう言語のことです。
また、アプリを対応させたい他の言語の文字列リソースを保持した、翻訳済み strings.xml
ファイルを実装することもできます。
既定のstrings.xml
ファイルの用意ができたら、自分で翻訳を追加したり、プロが行う翻訳サービスを有償で受けることができます。
有償の翻訳サービスの詳細については、翻訳サービスを注文をするを参照してください。
Android Studioの以下の場所から、翻訳エディターを起動することができます。
翻訳エディターは、strings.xml
ファイルから取得したキーと値の組み合わせを表示します。
Note:
strings.xml
ファイルの翻訳をすると、プロジェクトでは、スペイン語の場合はvalues-es といったような、語尾にその言語を示す文字列が付いた
values フォルダーが作成されます。既定の strings.xml
ファイルは、常に values (語尾に何も付かない) フォルダーにあります。
図 1は翻訳を行う前の、翻訳エディター上の既定のアプリテキスト(今回の場合は英語)を表示しています。
翻訳済みstrings.xml
ファイルの内容は、図2で示すようにUntranslatable列の右に、各言語ごとに1列ずつ表示されます。
任意のstrings.xml
ファイル内から 翻訳エディターを起動することができます。
注意: Hide notification リンクをクリックした場合、Open editorリンクは消えます。元に戻すには、プロジェクトを閉じて再度開きます。
レイアウトエディターのデザインエディターから 翻訳エディターを開き、既定テキストと翻訳テキストを編集してレイアウトに合わせることができます。 デザインエディターで言語を切り替える方法の詳細については、デザインエディター上で翻訳済みテキストを表示するを参照してください。
翻訳エディターでは、Unstranslatable を選んで、その行のテキストは翻訳したくないということを示すことができます。 翻訳したくないテキストとは、商品名や商標や技術用のような翻訳できない商品固有のテキストのことです。
Untranslatableにチェックを入れると、既定strings.xml
ファイルの対応する行には translatable="false"が追加されます。
以下の例では、一番上の EasyAppの行は商品名なので翻訳されません。
<resources> <string name="app_name" translatable="false">EasyApp</string> <string name="action_settings">Settings</string> <string name="easy_app">I am a Simple App!</string> <string name="next_page">Next Page</string> <string name="second_page_message">I am the Second Page!</string> <string name="title_activity_second">SecondActivity</string> </resources>
翻訳エディターはBCP 47 をサポートしており、 ロケール情報とリージョン(国)コードを対象の地域化向けに一つに組み合わせます。 ロケール情報には言語以外の情報も定義されています。日付と時間、通貨、小数点のような情報の国別の書式が含まれています。
言語を追加するには、以下を行います:
Translations Editorに新しい言語が表示され、strings.xml
ファイルの入った values-*フォルダがプロジェクトに追加されます。
例えば、スペイン語の場合はvalues-es。
言語を削除するには以下を行います:
翻訳エディターでは列内の全ての値を削除することで言語を削除できます(テキストを編集、追加、削除するを参照してください)。 もしくは、以下のようにその言語のプロジェクトフォルダーを削除できます。:
strings.xml
ファイルから直接、もしくは翻訳エディターを使ってテキスト設定を操作することができます。
この項目で、翻訳エディターを使って操作する方法について説明します。
翻訳エディターでは、リストビュー経由もしくは画面下部のeTranslation の項目経由で、テキストの編集・追加・削除を行うことができます。
テキストを編集や追加するには、以下を行います。:
テキストを削除するには、以下を行います。:
テキストの編集や追加をするには、以下を行います:
テキストを削除するには、以下を行います:
翻訳エディターでは、, the Key列にはstrings.xml
ファイル内の書くデータ項目ごとの重複のない識別子が一覧表示されます。
翻訳エディターを使って、キーの追加と削除を行えます。
キーを追加するには、以下を行います。:
図 4は、英語、スペイン語、フランス語が瀬呈された strings.xml
ファイルの中身を表示している翻訳エディターです。
赤いテキストは、エラーのある行を示しています。
エラーを修正するには、以下を行います。:
翻訳エディター上で変更を行うと、基となるstrings.xml
にも変更が反映されます。
strings.xml
上で変更を行うと、Translations Editorの対応する列に変更が反映されます。
翻訳エディター での修正例:
アプリのレイアウト上で翻訳済みテキストがどのように表示されるかを確認するには、 以下のようにして、デザインエディター上で既定テキストと翻訳済みテキストを切り替えます。:
デザインエディターは選択した言語でアプリのレイアウトを表示します。今回の場合はスペイン語です。
既定の言語に設定を戻すには、 es > Languageの順で選びます。
Android Studio は翻訳の注文ページを開きます。
メモ: アプリ翻訳サービスは、 Google Playやその他ベンダーからでも依頼できます。Google Play アプリ翻訳サービス の説明を参照してください。