web-dev-qa-db-ja.com

多言語のAndroidアプリケーションを作成するにはどうすればよいですか?

多言語のAndroidアプリケーションを作成します。

ユーザーが好む言語を検出する方法はありますか?

Android=で複数の言語を管理するための推奨される方法はありますか、それとも車輪を再発明する必要がありますか?

23
clamp

はい、複数の言語を管理するための推奨される方法があります

Androidの多言語サポートは簡単です。言語コードのサフィックスを使用して、言語の新しい値ディレクトリを作成します。 german:values-deまたはfrench:values-frの場合は、string.xmlをコピーして、各エントリを翻訳します。それだけで十分です。

Android複数の言語をサポートしていますか?

推奨事項に従っている場合、ユーザーが好む言語は自動的に検出されます。

これを読んでください:

http://developer.Android.com/guide/topics/resources/localization.html

25
Colin Pickard

アクティビティファイル内

public boolean onOptionsItemSelected(MenuItem item)
{
    String languageToLoad="en";

    switch (item.getItemId()) {
        case R.id.eng:
             languageToLoad = "en";
            break;
        case R.id.hn:
            languageToLoad = "hi";
            break;

        case R.id.te:
            languageToLoad = "te";
            break;

        case R.id.ta:
            languageToLoad = "ta";
            break;

        case R.id.ka:
            languageToLoad = "kan";
            break;

        case R.id.ml:
            languageToLoad = "ml";
            break;

        case R.id.mr:
            languageToLoad = "mr";
            break;

        default:
            break;
    }

         Locale locale = new Locale(languageToLoad);
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    getResources().updateConfiguration(config,getResources().getDisplayMetrics());


}

Res\menu\menus.xml

<menu xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
tools:context="com.example.connect.OrderProcess">
        <item
            Android:title="Language"
            app:showAsAction="never">
            <menu>
                <item
                    Android:id="@+id/eng"
                    Android:title="English"/>
                <item
                    Android:id="@+id/hn"
                    Android:title="Hindi"/>
                <item
                    Android:id="@+id/te"
                    Android:title="Telugu"/>
                <item
                    Android:id="@+id/ta"
                    Android:title="Tamil"/>
                <item
                    Android:id="@+id/ka"
                    Android:title="Kannada"/>
                <item
                    Android:id="@+id/ml"
                    Android:title="Malayalam"/>
                <item
                    Android:id="@+id/mr"
                    Android:title="Marathi"/>
            </menu>
        </item>
   </menu>

ANDフォルダとファイルを作成する

res\values\string.xml(英語)

res\values-hi\string.xml(ヒンディー語)

res\values-kan\string.xml(カンナダ語)

res\values-te\string.xml(テルグ語)

res\values-ta\string.xml(タミル語)

res\values-ml\string.xml(マラヤーラム語)

res\values-mr\string.xml(Marathi)

String.xml(ヒンディー語)

 <resources> 
<string name="email">ईमेल</string>
<string name="password">पासवर्ड </string>
 </resources>
4
Kishor N R

デモアプリケーションを共有することを考えた最新の投稿であることを知っておくと、一部の人にとって役立つでしょう。

共有設定を使用した多言語アプリ

このデモでは、次の2つのシナリオを紹介します。

  • ドロップダウンリストから言語を選択します。
  • ボトムシートのデザインから言語を選択してください

選択した言語は、共有設定に保存されます。そのため、次回アプリを開いたときに、優先言語が自動的に選択されます。

ソースコード- https://github.com/anurajr1/Multi-language_App

1
Anuraj R