我不確定這是否是一個愚蠢的問題,但我有一個應用程序,我需要提供給其他語言。我已閱讀了很多關於此的內容,但我對如何解決這個問題感到困惑。我是否真的需要將整個應用翻譯成任何我想要的語言或系統會這樣做的語言?我閱讀了關於使用本地化(Android docs)和許多論壇帖子的Android文檔。我已閱讀有關更改應用程序中的配置,但即使更改設備上的區域設置也不起作用。任何人都可以請爲我指出正確的方向嗎?我希望用戶能夠更改應用程序本身的語言,因爲它可能會在具有不同偏好的人之間傳遞。提前致謝!在應用程序中的多語言支持
回答
基本上你需要把你想轉換成文件
res/values/strings.xml
默認的連接區域,然後例如串通過Resources.getString(R.string.theId)
或在其他xml文件中通過@string/theId
, 參考代碼中的這樣的條目,其中theId
代表例如條目的ID。在
<string name="theId">Username</string>
在xml文件中。
現在你創造更多的
res/values-<lc>/strings.xml
文件,其中代表各2個字母的地區代碼翻譯它。
感謝您的回覆。我有默認的strings.xml文件。我希望翻譯整個應用程序,而不是某些字符串。所以,主要問題是我必須執行所有翻譯(或使用程序)並將它們放入每種語言的res/values-
你必須做翻譯。如果操作系統可以做到這一點,它不需要res/values-
@Simon我明白這個邏輯,但我知道這些文件是需要的,以防萬一你有一個資源除了文本以外,還可以改變尺寸或其他屬性。我只是想,也許這是可能的,值得探索與所有具有多語言功能的應用程序。猜猜我錯了,但感謝回覆 – codeMagic
要添加對更多語言環境的支持,請在res /中創建其他目錄。每個目錄的名稱應該遵循以下格式:
-b + [+]例如,values-b + es /包含語言代碼爲es的語言環境的字符串資源。類似地,mipmap-b + es + ES /包含具有es語言代碼和ES國家代碼的語言環境的圖標。 Android在運行時根據設備的區域設置加載適當的資源。
例如,以下是不同語言的一些不同的資源文件:英文字符串(默認語言環境),/values/strings.xml:
<resources>
<string name="hello">Hello</string>
</resources>
法國字符串(FR區域),/值-FR /strings.xml:
<resources>
<string name="hello">Bonjour</string>
</resources>
使用的資源在你的應用程序:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello" />
- 1. Installshield多語言支持應用程序
- 2. Xamarin.Forms應用程序支持多語言
- 3. Android - 在ViewPager中支持多語言應用程序
- 4. 如何在ASP.NET Web應用程序中支持多種語言?
- 5. 在Winforms應用程序中支持多種語言
- 6. 在Web應用程序中提供多語言支持
- 7. 通用應用程序中的多語言支持
- 8. iPhone應用程序中的多語言支持
- 9. 在應用程序的數據庫端支持多種語言
- 10. 多語言支持科爾多瓦應用程序
- 11. java程序支持多種語言
- 12. 在應用程序中使用不支持的語言
- 13. 顯示Android應用程序的多種語言支持
- 14. Android應用程序的多語言支持
- 15. 如何給我的應用程序多語言支持?
- 16. 提供Movilizer應用程序的本地化/多語言支持
- 17. 在我的Android應用程序中只支持兩種語言
- 18. 多語言支持
- 19. 多語言支持
- 20. 電子郵件應用程序多語言支持實施
- 21. Android多語言鍵盤支持應用程序
- 22. 如何爲Android應用程序提供多語言支持
- 23. 多語言應用程序 - 社區支持?
- 24. 多語言支持測試應用程序/數據庫
- 25. Android應用支持多國語言
- 26. 構建支持多語言的Web應用程序(例如英語,德語等)
- 27. 在Web應用程序中添加對多種語言的支持
- 28. Android多語言和少數語言支持語言不支持語言區域
- 29. ios應用程序中的urdu語言支持
- 30. Mongodb的多語言支持
我猜你有翻譯在W或者你可以使用一些語言翻譯器(我不知道該怎麼做),例如facebook上的翻譯器(由Bing翻譯)。 –
您閱讀的文檔中哪一部分不明白? strings.xml很容易實現。 – Simon
據我所知,本地化功能只是讓你自己完成翻譯後在不同語言之間進行切換。因此,例如,如果設備本地化爲英語並且「Le App Ze Awesome」,則可以創建名爲「title」的字符串資源,而不是將「My Awesome App」硬編碼爲應用程序的標題C'est Moi「,如果是法語的話。但操作系統不會爲你翻譯任何文本,所以我當然希望你用法語寫作比我更好。 – Andy