2011-09-16 74 views
3

我正在製作一個應用程序,我想在其中實施國際化。 我創建替代資源,如Android中的國際化

RES /值-FR/strings.xml中 其中包含法語文本的所有字符串,包括標題

誰能告訴我下一步做什麼?

謝謝

+0

有太多可以告訴。資源(文本,圖形,聲音等)的外部化是一回事,適當的日期,時間,數字格式是另一回事。更糟糕的是,這僅僅是個開始,但是這個話題太寬泛了,不能在一個問題上得到回答,除了它只是脫離主題(不涉及編程)。 –

回答

5

您應該始終在res/values/strings.xml中有默認字符串,因爲Android會嘗試使用最具體的資源。例如,如果您有res/values-fr/strings.xmlres/values-de/strings.xml以及用戶手機設置爲英語,則您的應用程序將崩潰,因爲英語不適用於defr,因此不存在回退資源。

當您在其各自的子文件夾中指定了默認字符串和任何翻譯後,可以按其限定符使用字符串。例如R.string.some_string。然後,Android將使用適用於用戶當前設備​​語言的最適合的翻譯。

所有這一切,更在此說明:Localizing with Resources

+0

我已經閱讀過它..但我的應用程序仍然無法正常工作 – ekjyot

+0

那麼您面臨哪些問題?更加詳細一些。 –

+0

我是否需要通過主頁>菜單>設置>語言環境和文本>選擇語言環境 – ekjyot

1

設備會自動根據系統負載languge區域。除非您想單獨更改應用中的區域設置,否則不需要額外的步驟。

+0

以及如何更改應用的區域設置 – ekjyot

+0

@ekiyot:您無需更改「應用的區域設置」。有時你需要檢測它('Locale.getDefault()'),就是這樣。請不要在您的應用中實現語言選擇,這是常見的反模式(用戶已經爲整個操作系統選擇了他/她的語言)。 –

+0

@PawełDyda,這是一個非常糟糕的主意,因爲:我使用EN作爲操作系統級別,大部分應用程序都在EN中。如果從設置有一個語言選擇器,我希望看到其他語言的應用程序比我會選擇它,但我不希望整個操作系統,肯定 – 2013-11-02 10:40:36