gpt4 book ai didi

Android 运行时翻译

转载 作者:行者123 更新时间:2023-12-02 10:27:17 26 4
gpt4 key购买 nike

Android 有没有办法在运行时使用自己的翻译文件翻译字符串?

例如英文文件:

hello world : Hello world.

德语文件:

hello world: Hallo Welt.

就像 Webframeworks 中的那样(Symfony、Rails...)

最佳答案

我可以想到两种方法来做到这一点。一种是指定Android语言/区域代码并使用不同的res/values/strings.xml来翻译字符串值。但这会影响整个应用程序。这是 supporting different languages 上的引用

另一种方法是创建这样的本地化资源文件以进行服务器响应翻译。

所以 strings.xml 会是这样的:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="error_msg_ge">Fehlermeldung</string>
<string name="error_msg_en">Error Message</string>
</resources>

下面只是一个伪代码,因为您没有发布任何代码。

if(!isSuccess) {
TextView textView = new TextView(this);
textView.setText(R.string.error_msg_ge)
}

如果我们确实想要更精确,那么我们可以在资源文件中指定更多的错误消息,并根据服务器返回的错误消息进行交换。

所以 XML 可能是这样的

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="error_ge_timeout">auszeit</string>
<string name="error_ge_noresult">kein Ergebnis</string>
<string name="error_en_timeout">timeout</string>
<string name="error_en_noresult">no result</string>
</resources>

然后

if(!isSuccess) {
TextView textView = new TextView(this);
if(errMsg.equals(R.string.error_en_timeout)) {
textView.setText(R.string.error_ge_timeout);
} //...and so on

}

最后但并非最不重要的一点是,您还可以利用第三方 API 进行翻译。但由于您正在翻译从服务器收到的错误消息,我不确定这是否有必要,因为它不是对话目的,因此可能有点矫枉过正。无论如何,有很多方法可以实现它。

关于Android 运行时翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28088389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com