2014-05-04 44 views
2

我正在設計一個Android應用程序,使用Android Studio支持10種不同的語言/地區。問題是,如果我完善英文的佈局文件,它將不適合其他語言。例如,某些文本可能會在另一種語言中被截斷/截斷,因爲它對於TextView來說太長了,即使它在英語中也很好。可以在Android Studio中本地化佈局文件嗎?

佈局(xml)文件中字體大小有可能存在基於語言的差異嗎?

回答

3

您應該可以創建一個layout-es文件夾來覆蓋西班牙語等的佈局。我自己使用它來繪製drawable,所以我不明白爲什麼它不適用於佈局。

+0

謝謝。我會試試 –

+0

我測試過這個;有用。 – CJBS

0

@ darnmason的解決方案是正確的 - 區域設置的佈局文件做工作,使其工作,只是複製的資源文件在佈局文件夾-xx,其中xxlanguage code。有關語言代碼,請參閱this table中的「639-1」標題。

因此,對於法文版的\res\layout\MainScreen.xml,新文件將變爲\res\layout-fr\MainScreen.xml

儘管Android Studio complaining應該將字符串資源本地化爲(單獨的)資源文件,但使用重複的特定於語言環境的佈局文件有時很有意義;在OP提到的情況下就是一個這樣的例子。

通常,嘗試在字符串資源文件中進行文本本地化。然而,有時候,一種語言的翻譯文本會使得用戶界面在另一種語言中變得醜陋(比較「Nom d'utilisateur」與「用戶名」的長度以及導致的字段大小)。在這種情況下,如上所述複製佈局文件,因爲不僅僅是文本(尺寸,也許是字體)正在本地化。

每種語言使用額外的佈局文件的缺點是,每當某些事情發生變化時(例如添加一個按鈕),多個佈局文件需要更新所有更改,而不僅僅是將控件添加到一個佈局文件,以及將所有翻譯添加到單獨的字符串資源文件。

相關問題