如何在不同语言的Android环境中加载不同的html文件?

时间:2012-01-11 17:01:09

标签: android html image webview

我为不同的语言环境提供了一些不同的语言html文件,所有这些html文件都包含图像。现在我想用WebView显示合适的html文件,以适应Android的当前语言。我怎样才能做到这一点?感谢。

3 个答案:

答案 0 :(得分:1)

您可以为德语等非英语文件指定特殊名称,例如file-de.html,然后使用以下代码:

private static String getFileName() {
    Configuration config = getResources().getConfiguration();
    InputStream stream = null;
    try {
        String name = "file-" + config.locale.getLanguage() + ".html";
        stream = getAssets().open(name);
        return name;
    } catch (IOException exception) {
        return "file.html";
    } finally {
        if (stream != null) {
            stream.close();
        }
    }
}

答案 1 :(得分:0)

添加了一个新答案,通过提供一个示例,应该更精确。

答案 2 :(得分:0)

您可以使用"字符串值"获取与Android语言相关的HTML文件名,而无需使用任何其他Java代码,只需使用getString()。以下是2种语言的示例:

在文件 values / strings.xml

<string name="html_help_basepage">en_help.html</string>

在文件 de / strings.xml

<string name="html_help_basepage">some_german_help.html</string>

等等......

对于您的Java代码(从资产文件夹中的本地文件加载,如上所述)

helpView = (WebView) findViewById(R.id.wv_help);
String adaptedToLanguage = getString(R.string.html_help_basepage)        
helpView.loadUrl("file:///android_asset/" + adaptedToLanguage);

不需要额外的Java代码。我希望这有用并回答这个问题。