Java 如何使用多种语言的字符串创建对话框
我试图在Android studio上创建一个对话框,用不同的语言显示错误消息。 目前,我只有一条错误消息(德语):Java 如何使用多种语言的字符串创建对话框,java,android,arrays,Java,Android,Arrays,我试图在Android studio上创建一个对话框,用不同的语言显示错误消息。 目前,我只有一条错误消息(德语): 我想我需要创建数组并用其他语言添加相同的消息,问题是我还不知道怎么做。也许正如您之前所述,您可以创建应用程序支持的不同语言的数组列表(可能有一个选项菜单供选择)然后在硬编码文本的地方(例如“Keine Internetverbindung verfügbar:”),将其替换为方法中的另一个参数 就可以使用的数组而言,根据程序的大小和组织方式,可以为每种语言创建不同的ArrayLi
我想我需要创建数组并用其他语言添加相同的消息,问题是我还不知道怎么做。也许正如您之前所述,您可以创建应用程序支持的不同语言的数组列表(可能有一个选项菜单供选择)然后在硬编码文本的地方(例如“Keine Internetverbindung verfügbar:”),将其替换为方法中的另一个参数 就可以使用的数组而言,根据程序的大小和组织方式,可以为每种语言创建不同的ArrayList对象。我建议您为程序中的所有短语制作一个HashMap,并以这样的方式组织它们:第一个字符串类似于“germanIntro”,第二个字符串类似于“Keine Internetverbindung verfügbar:” 为了了解更多关于如何使用ArrayList或HashMap的信息,我建议只通过谷歌搜索或查看其他堆栈溢出答案 编辑:我确信自动翻译器在某种程度上是可用的(我从未尝试过),但我知道它们不是100%准确的。也就是说,如果你懂这门语言,我建议你对正确的短语进行硬编码 不,你不需要, 看看本地化, 您可以为通用方法创建一个
/values/strings.xml
您必须为德语创建/values de/strings.xml
然后在/values/strings.xml
之后
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="message">No internet connection available</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="message">Keine Internetverbindung verfügbar</string>
</resources>
void onReceivedError(WebView view, int errorCod, String description, String failingUrl) {
// Error message + error description
Toast.makeText(Main.this, getString(R.string.message), Toast.LENGTH_LONG).show();
}
然后您可以根据本地化字符串显示对话框
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="message">No internet connection available</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="message">Keine Internetverbindung verfügbar</string>
</resources>
void onReceivedError(WebView view, int errorCod, String description, String failingUrl) {
// Error message + error description
Toast.makeText(Main.this, getString(R.string.message), Toast.LENGTH_LONG).show();
}
假设你的应用程序使用系统语言,看看。嗨,你没试过吗?它就像@ShreeKrishna说的那样工作。谢谢如果你仍然有一些问题,那么我准备帮助其他人,请随时接受答案。我会很高兴。。。