在 Android Studio 中,游標只要在的字串上停留(或是按下 Alt + Enter),左側就會出現黃色的小電燈泡,點選 Extract string resource
就可以將字串提取到資源檔中
此時程式碼就會從原本的字串:
變更為使用資源檔中的文字:
這些文字會儲存在 res\values\strings.xml 中:
開啟 res\values\strings.xml 檔案後會發現上面有一個 Edit translations for all locales in the translations editor 的提示,點選 Open editor 就可以開啟翻譯編輯器
點選左上角的地球圖示,找到想要翻譯的語言,筆者這裡以繁體中文做示範,選擇 Chinese (zh) in Taiwan (TW)
就會多出剛剛選擇語言的欄位,填入要翻譯的內容
翻譯的內容會依照不同的語言儲存在不同的資料夾,以繁體中文為例,會儲存在 res\values-zh-rTW\strings.xml 中:
執行程式後,只要到設定把預設語言變更為繁體中文,就會替換為剛剛翻譯的文字,其他語言則會顯示預設 res\values\strings.xml 中的內容。
參考資料:
Android Developers - Localize your app
就可以將字串提取到資源檔中
此時程式碼就會從原本的字串:
@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
Text(
text = "Hello $name!",
modifier = modifier
)
}
變更為使用資源檔中的文字:
@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
Text(
text = stringResource(R.string.hello, name),
modifier = modifier
)
}
這些文字會儲存在 res\values\strings.xml 中:
<resources>
<string name="hello">Hello %1$s!</string>
</resources>
開啟 res\values\strings.xml 檔案後會發現上面有一個 Edit translations for all locales in the translations editor 的提示,點選 Open editor 就可以開啟翻譯編輯器
點選左上角的地球圖示,找到想要翻譯的語言,筆者這裡以繁體中文做示範,選擇 Chinese (zh) in Taiwan (TW)
就會多出剛剛選擇語言的欄位,填入要翻譯的內容
翻譯的內容會依照不同的語言儲存在不同的資料夾,以繁體中文為例,會儲存在 res\values-zh-rTW\strings.xml 中:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">你好 %1$s!</string>
</resources>
執行程式後,只要到設定把預設語言變更為繁體中文,就會替換為剛剛翻譯的文字,其他語言則會顯示預設 res\values\strings.xml 中的內容。
參考資料:
Android Developers - Localize your app
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com