3

textView と ListView があります。リストビューでサポート言語のリストを作成しました

任意の言語をクリックすると、テキストビューのテキストを変更する必要があります

コード

   String lang[] = new String[]{"English","French"};
        ListView listView = (ListView) findViewById(android.R.id.list);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,lang);

        listView.setAdapter(adapter);

        TextView text = (TextView)findViewById(R.id.textbox);

    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        TextView tv = (TextView)v;
        String selected_lang = tv.getText().toString();
        Toast.makeText(this, selected_lang, Toast.LENGTH_LONG).show();
    }

注: make strings.xml と GoogleApi を使用せずに、ある言語から別の言語に翻訳する必要があります。

Google が 1 つの言語を別の言語に翻訳する方法を知っている人はいますか?

4

3 に答える 3

3

ファイルstrings.xmlと次のようなコンテンツを使用して、ディレクトリ値の近くに新しいディレクトリvalues-frを作成します

<resources>
    <string name="some_string_vith_localization">French translation</string>
</resources>

そしてあなたのコードで

String lang[] = new String[]{"en","fr"};
        ListView listView = (ListView) findViewById(R.id.my_list_id);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,lang);

        listView.setAdapter(adapter);

        TextView text = (TextView)findViewById(R.id.textbox);

    }
            @Override
            protected void onListItemClick(ListView l, View v, int position, long id) {
                TextView tv = (TextView)view.findViewById(R.id.text_view_to_change);
                String selected_lang = tv.getText().toString();

                Locale locale2 = new Locale(selected_lang);
                Locale.setDefault(locale2);
                Configuration config2 = new Configuration();
                config2.locale = locale2;
                getBaseContext().getResources().updateConfiguration(config2,
                        getBaseContext().getResources().getDisplayMetrics());
                tv.setText(getResources().getString(R.string.some_string_vith_localization));

            }
于 2012-09-07T05:37:48.043 に答える
1

必要に応じて、Android での多言語サポートの完全な例を次に示します。


今、

そのため、理解する必要があることはほとんどありません。

res/valuesフォルダーをいくつでも作成し、それぞれの言語文字列値をStrings.xmlフォルダーの下のファイルに保持できます。

ユーザーが選択した言語を選択すると、configuration

また、次のトピックも一度確認することをお勧めします:ローカリゼーション

于 2012-09-07T05:23:26.747 に答える
0

わかりました... android-translate-api-1.1.jar を使用してみてください

リンク: http://code.google.com/p/android-translate-api/

Locale curLocale = this.getResources().getConfiguration().locale;
I18nTranslator i18nTranslator = new I18nTranslator(curLocale .getLanguage());

String text = i18nTranslator.translateString("YOUR-TEXT-HERE");
于 2012-09-07T05:23:23.903 に答える