2016-07-01 25 views
0

ロシア語ロケールのみのアプリケーションがあります。私が間違っていない場合は、res/valuesstring.xmlがデフォルトで英語のロケールになります。しかし、英語とロシア語は異なる複数形を持っています。Android。値のデフォルトのロケールfo string.xmlを変更する方法

ロシア:

  • 1,21,31..x1книга
  • 2-4、2(2-4)、3(2-4)、..、X例えば(2-4)他の場合には
  • をКниги - книг英語

  • 1本
  • n書籍

問題は、ユーザーがシステム言語をロシア語から他の言語に変更したときに始まります。 アプリケーションのデフォルト言語を変更するにはどうすればよいですか?あるいは、アプリケーションがロシアの複数形を使用するように強制することは可能でしょうか?

+0

@vladimirは、あなたがこの質問を見ました:[セットロケールをプログラム](http://stackoverflow.com/questions/4985805/set-locale-programatically)、あなたは任意の言語を使用するように強制することができます。私はあなたが質問を見て何のアイデアを得ることができない場合は、あなたを示すことができます。 –

+0

はい、それは私の質問には答えません。私はそれがロシアの複数形を使用するデフォルトのstring.xmlになる必要があります。 –

+0

プログラムでロケールを設定したくありません。 –

答えて

0

あなたが新しい値フォルダ値-RUと場所string.xmlをを作成し、この

values/ 
      strings.xml 
     values-es/ 
      strings.xml 
     values-fr/ 
      strings.xml 

チェックGoogleの公式文書https://developer.android.com/training/basics/supporting-devices/languages.html & https://developer.android.com/guide/topics/resources/localization.html

+1

それは私の質問に答えません。値 - デフォルトではフォルダです。私は1つの言語しか持っていません。しかし、デフォルトでは、英語の複数形が使用されます。 –

0

のように異なるstring.xmlをファイルに

を作成することができますそれ。

in javaこのコードを使用してプログラム言語をアプリの言語に変更します。このchangeLanguage( "ru")のようなruパラメータを持つrushion callメソッドへの変更。

public void changeLanguage(String languageToLoad) { 
     //for language change 
     Locale locale = new Locale(languageToLoad); 
     Locale.setDefault(locale); 
     Configuration config = new Configuration(); 
     config.locale = locale; 
     getResources().updateConfiguration(config, getResources().getDisplayMetrics()); 
    } 
+0

私の質問をよく読んでください) –

関連する問題