2012-07-06 84 views
2

我目前正在開發Android應用程序,並且已經進行了大約六週。我發現它還需要以不同的語言運行。我所有的字符串資源都保存在strings.xml文件中。是否可以在兩個strings.xml文件中進行選擇?

我想知道的是,如果我可以製作一個單獨的文件,如strings2.xml,並根據用戶選擇的內容,程序將爲所有字符串引用選擇strings.xml or strings2.xml。我的佈局文件main.xml

<Button 
android:id="@+id/more_parametersButton" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/more_parameters" /> 

然後,我會有2個單獨的字符串文件。 的strings.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?> 
<resources> 
    <string name="more_parameters">More Parameters</string> 
</resources> 

和strings2.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?> 
<resources> 
    <string name="more_parameters">Mais Parâmetros</string> 
</resources> 

看起來這是不可能的,但如果是這樣,我會很感激的信息。

回答

8

它看起來像你只是試圖國際化你的應用程序。 android當然有一個明確的設施。創建res下區域設置特定的值,文件夾,

res/values-<locale>/strings.xml 

和填充根據語言環境的值此文件。例如,

res/values-fr_FR/strings.xml 

瞭解詳情,請閱讀開發人員網站上的Android Localization頁面。

2

可以切換語言手動..

String[] array={"English","Deutsch"}; 
       Locale locale = new Locale(array[0]); 
Locale.setDefault(locale); 
       Configuration config = new Configuration(); 
       config.locale = locale; 
getBaseContext().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics()); 

但對於這一點,你需要爲德語localization.

2

,才能在Android做得非常容易,

RES /值-DE/strings.xml中

不僅可以使用String.xml(對於不同的語言),還可以使用相同的layouts.xml,drawables(針對不同的屏幕尺寸),您只需要命名res /文件夾名稱文件夾,Blattman先生已經詳細回答了。

相關問題