3

私は英語用に書いたAndroidアプリケーションを持っていますが、それをペルシア語/ペルシア語に変換したいと思います。TextViewテキストにペルシア語のテキストを入力する方法を知りたいのですが、英語とペルシア語の両方のString.xmlを維持するにはどうすればよいですか。

ゾルフを応援します

Locale locale = new Locale("fa-IR"); 
    Locale.setDefault(locale); 
    Configuration config = new Configuration(); 
    config.locale = locale; 
    getBaseContext().getApplicationContext().getResources().updateConfiguration(config, null); 

このコードはどこに配置しますか。このコードをOnCreateに配置すると、TextViewのテキストがペルシア語に変更されません。

4

2 に答える 2

2

ペルシア文字の正しい形式を表示するには、このソリューションを使用してください。

アップデート

また、UIに読み込まれている現在のリソースを変更するには:

tf = Farsi.GetFarsiFont(this);

tvTitle01 = (TextView) findViewById(R.id.tvTitle01);
tvTitle01.setTypeface(tf);
tvTitle01.setText(Farsi.Convert(tvTitle01.getText().toString()));
于 2012-06-30T07:46:55.747 に答える
1

Androidにはローカリゼーションのメカニズムが組み込まれています。

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

言語ごとに異なる値のフォルダーを作成し、言語ごとに異なるstring.xmlファイルを保持できます。例:

res/values/strings.xml titleという名前の文字列のテキストを含む、アプリケーションが使用するすべての文字列の英語のテキストが含まれます。

res/values-fr/strings.xml タイトルを含むすべての文字列のフランス語のテキストが含まれています。

res/values-ja/strings.xml タイトルを除くすべての文字列に日本語のテキストが含まれています。

JavaコードがR.string.titleを参照している場合、実行時に何が起こるかを次に示します。

デバイスがフランス語以外の言語に設定されている場合、Androidはres/values/strings.xmlファイルからタイトルをロードします。

デバイスがフランス語に設定されている場合、Androidはres/values-fr/strings.xmlファイルからタイトルをロードします。

于 2012-06-30T05:51:01.567 に答える