2011-12-06 6 views
1

私の質問を控えめに投稿しようとしています。オンザフライでstrings.xmlを変更する

私は2つのstrings.xmlを持っています.1つは英語用、もう1つはインドのローカル言語用です。それはタミル語にしましょう。

が、私は私のタミール語のstrings.xmlでのstrings.xml(英語)のすべての属性の意味を保持している

最初は(通常通り)英語のstrings.xmlをロードします私のアプリケーション

私がボタンを持っていますそれをクリックすると を(この場合はタミル語)の言語を変更するために使用されなければならないどこか - 私の全体のアプリは、私のタミル語のstrings.xmlを読んでする必要があります..私はコードの下に知って

は、デフォルトロケールのために働く

Resources res = getResources(); 
     DisplayMetrics dm = res.getDisplayMetrics(); 
     Configuration conf = res.getConfiguration(); 
     conf.locale = Locale.GERMANY; 
     res.updateConfiguration(conf, dm); 

私のカスタマイズしたstrings.xmlをオンザフライで読むためにこれを微調整できますか?

アイデアをいただければ幸いです。

+0

このスレッドの回答を確認してください。http://stackoverflow.com/questions/4022566/custom-multi-language-support/4873524#4873524 –

+0

こんにちはShashank、あなたの応答のおかげで.. ..しかし、私の質問のようなものでした - これは価値taのような新しいフォルダを作成することが可能です(タミのタコ)とあなたのスレッドで投稿したメソッドを使用... "日本は?それはOEMの(デフォルトの種類のものです)..だから私はそれを変更することができます..しかし、タミールはそこに私は信じています...私はちょうど(タミールの意味のためのカスタマイズフォルダとstrings.xml)を作成しています –

答えて

0

これはできません。携帯電話の言語を変更することは可能ですが、アプリの言語を変更するよりも簡単です。

設定アクティビティを作成して、電話機の設定ページでユーザーをロケールとテキストに転送する言語を変更するオプションを設定するのはなぜですか?

コードなどが必要な場合は教えてください。

+0

こんにちはブローク。あなたの応答に感謝..正解!ロケールがAndroid OEMにある場合のみ可能です...すべて私はstrings.xmlを作成し、値 - ta(tamのためのta)でそれを維持しようとしています..そして、そのメソッドを使用して設定を更新してください..これは可能ですか? –

+0

私はそれが可能ではないことを知っている限り...私はそれをここに書き込むようなものを見つける場合... – Jovan

0

あなたのアプリ内で英語からタミル語へのあなたの言語を変更したいのですか?

私は私のonCreateの活動でこのメソッドを呼び出す:cは私の活動であるとNewLocaleは私が使用するロケールの文字列である

public void setupLocale(Activity c, String NewLocale) { 
    Resources res = c.getBaseContext().getResources(); 
    Configuration newConfig = new Configuration(res.getConfiguration()); 
    newConfig.locale = new Locale(NewLocale); 
    res.updateConfiguration(newConfig, null); 
} 

。たとえばフランス語の場合は「fr」、デンマーク語の場合は「da」です。タミル語が何であるかは分かりませんが、おそらくあなたはそうです。

+0

こんにちはカフス、あなたの応答のためにありがとう..しかし、私の質問だった - これは新しいフォルダを作成することですタミルのようなta(taのためのta)とあなたが投稿したメソッドを使用して.. ..私はそれを変更することができます..しかし、タミールはロケールではない私は信じて..私はちょうど(カスタマイズされたフォルダとタミルの意味のためのstrings.xml) –

関連する問題