2013-01-22 154 views
2

我想本地化(values-ru)字符串值:textview和app_name。應用僅本地化textview(「Приветмир」),但app_name仍然相同(「本地化」)。 app_name本地化有什麼問題?本地化應用程序名稱

應用程序標籤名稱& Manifest中的活動標籤名稱引用相應的字符串值。

清單:

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.local.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

字符串RES /值儒:

<resources> 
<string name="hello_world">Привет мир</string> 
<string name="app_name">Локализация</string> 
</resources> 

的Java:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

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

    setContentView(R.layout.activity_main); 
} 

回答

7

這將改變區域設置應用程序的本地不移動。和Manifest根據設備區域選擇應用程序名稱的值,而不是應用程序區域設置。 所以你需要從你的移動設備的設置來設置它。

+0

感謝您的快速回復 – Andrew

+0

這是一個可靠的答案。但我相信,如果你告訴如何克服這種情況,它將會幫助社區更多。 – Killer

+0

我們是否需要爲每個活動使用setTitle ... – Killer

0

@skygeek同意 只是爲了開導主題,因爲每個從安卓網Android的本地化過程:

資源是文本字符串,佈局,聲音,圖形和其他任何 靜態數據,你的Android應用程序需要。應用程序可以包含多組資源,每組資源都針對不同的 設備配置進行定製。當用戶運行應用程序時,Android 將自動選擇並加載與設備的區域設置最匹配的資源。

詳細解釋可以在安卓網站link找到。

相關問題