2014-03-25 66 views
5

我將翻譯我的應用程序strings.xml文件。 strings.xml文件的默認語言是什麼?因爲現在我需要支持意大利語(現在我已經寫了strings.xml的語言)和英語。我應該用string.xml英語和創造Android:strings.xml的默認語言

RES /值,它/

文件夾意大利語和英語翻譯 「默認」 的strings.xml?

+0

只需將該strings.xml複製到值中即可,並將其中一個英文翻譯爲值:> – noidraug

+2

默認語言爲英語。字符串文件是**/res/values/strings.xml ** –

回答

13

strings.xml是默認值,如果沒有像res/values-it/strings.xmlres/values-fr/strings.xml這樣的國家/地區特定文件,將會使用它。閱讀更多關於Localizing with Resources

我個人使用strings.xml英文翻譯作爲你已經建議的後備。

+0

在上述文檔中,我沒有看到像使用「strings-it.xml」的任何示例。 –

+0

@DoctororDrive你是對的,對不起在我的腦海裏有錯。我會解決我的答案。 – Kai

4

看一看here;如規定:

創建區域設置目錄和字符串文件

要添加更多語言的支持,建立內部資源的附加價值目錄/,其中包括一個連字符,並在目錄名末尾的ISO國家代碼。例如,values-es /是包含語言代碼爲「es」的語言環境簡單資源的目錄。 Android在運行時根據設備的區域設置加載適當的資源。

一旦您決定了將支持的語言,請創建資源子目錄和字符串資源文件。例如:

MyProject/ res/ values/ strings.xml values-es/ strings.xml values-it/ strings.xml 

將每個語言環境的字符串值添加到相應的文件中。

在運行時,Android系統根據當前爲用戶設備設置的區域設置使用相應的一組字符串資源。

例如,以下是針對不同語言的一些不同的字符串資源文件。

英語(默認語言環境),/values/strings.xml:

<?xml version="1.0" encoding="utf-8"?> 
    <resources> 
    <string name="title">My Application</string> 
    <string name="hello_world">Hello World!</string> 
</resources> 

意大利,/values-it/strings.xml:

<?xml version="1.0" encoding="utf-8"?> 
    <resources> 
    <string name="title">la mia domanda </string> 
    <string name="hello_world">ciao mondo!</string> 
    </resources> 

注意:您可以使用任何資源類型的語言環境限定符(或任何配置限定符),例如,如果您想提供位圖可繪製的本地化版本。有關更多信息,請參閱本地化。

+0

我現在只需要本地化字符串。但爲什麼我需要爲語言創建兩個文件夾(values-es和values-it)?我想要的是,如果語言環境語言是意大利語,則顯示意大利語字符串,否則(世界其他地方)使用英語。 也許我只能在英文strings.xml中翻譯,並且只創建值 - 它的文件夾 – giozh

+0

對於每種語言,您應該已經定義了所有字符串資源,即使您可能沒有使用它們中的一部分,它們也會被佈局使用他們將從默認的語言定義中獲取價值。這是這些字符串從中取值的地方。 –

+0

但是如果在運行時沒有找到與locale相匹配的值文件夾,系統將使用默認的strings.xml文件? – giozh