2013-05-30 56 views
0

我很驚訝,我怎麼沒有找到具體的資源多語言Android應用程序,當我谷歌搜索。android多語言應用程序內部的應用程序

我從來沒有在android上執行過本地化。我確實在互聯網上找到了關於從手機設置改變語言環境的資源,以便在所選語言環境中查看應用程序。

但是,我的客戶不希望手機的語言環境與應用程序捆綁在一起(一個合理的請求)。手機應該保持英文,但改變語言的選項應該在應用程序的內部

這將是簡單的,在啓動畫面上的活動,它會要求用戶選擇語言。 選擇語言後,後續活動應該以該語言進行。

這是真的不可能在android本機上,我們將不得不把黑客和繃帶在系統上實現結果?

請幫我

感謝

回答

0

您需要爲每個需要的區域提供字符串資源的對應值的文件夾,例如價值觀我們,價值觀德等在每個文件夾這個你需要將文件strings.xml與所有資源放在一起,您需要進行本地化,對於不同文件夾中的相同資源,ID必須相同。

從代碼中你應該使用

Context.getstring(R.string.your_string); 

爲了獲得所需的資源。

作爲切換應用語言環境 - see this link

0

應用程式內變更語言代碼是通過創建與所需的設置一個Locale對象,然後使用Locale.setDefault(區域),以激活自定義的區域設置完成。

官方的Android documentation表明這通常是不正確的方法,可能是因爲很容易讓系統事件(屏幕旋轉等)覆蓋本地設置。

similar StackOverflow question的頂部答案中有一個很好的代碼示例來完成您正在尋找的內容。

0

爲了支持多語言,你應該爲每一種語言創建不同的價值觀的文件夾,例如值-en代表英語,價值觀-FR(法語)等含有string.xml文件 您可以按照Android的官方文檔,here