【问题标题】:Load local html in webview depending on language根据语言在 webview 中加载本地 html
【发布时间】:2012-08-01 02:32:45
【问题描述】:

Hy...我有一个 webview 组件在资产文件夹下加载本地 html 文件,工作完美。

现在我想翻译mi app,我需要webview根据手机语言加载翻译后的html文件。

我该怎么做?

非常感谢!!!!

我的代码...

package com.altaguia.difuntos;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebSettings.RenderPriority;
import android.webkit.WebView;

public class AcercadeActivity extends Activity {



    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.acercade);

        WebView myWebView = (WebView) findViewById(R.id.webView1);
        myWebView.getSettings().setRenderPriority(RenderPriority.HIGH);
        myWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        myWebView.loadUrl("file:///android_asset/acercade.html");

    }

    public void backBTN(View v)
    {
        finish();
    }


}

【问题讨论】:

    标签: android html webview


    【解决方案1】:

    使用Locale查找设备语言,然后加载相应的html文件:

    String lang = Locale.getDefault().getLanguage();
    String filename = "acercade.html";
    if (lang.equals("fr")) {
      filename = "acercade.fr.html";
    }
    myWebView.loadUrl("file:///android_asset/" + filename);
    

    【讨论】:

    • 重点是getLanguage()可以返回一个空字符串。即使处理这种情况,这也可能会导致错误的 html 文件。所以在这种情况下,我建议宁可使用 getISO3Language()。
    【解决方案2】:

    使用 php。 选择语言并将其作为 GET 或 POST 中的参数传递。 将其传递给 php 文件。在 php 文件中创建一个条件包含。

    if ( $_GET['language']=="EN") include "indexEN.php";
    else include index.php;
    

    将翻译放在特定文件中,并在条件中验证后将其包含在内。 如果您有很多翻译,请使用 Switch/Case 而不是 IF。

    如果您将使用 GET 表单,那么 URL 将如下所示:

    www.webpage.com/index.php?language=EN
    

    【讨论】:

    • 感谢您的回答,但我对 android 和编程很陌生,所以我不了解您的解决方案。你能像我傻一样向我解释吗?大声笑.....我发布了我的代码...非常感谢!!!
    • 是的。现在您发布了代码,现在很明显 Q 是关于 android 的。你的标签和最初的描述根本没有提到这个事实。
    • 真的很抱歉,我没有意识到这一点。还是谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 2022-06-25
    相关资源
    最近更新 更多