如何根据用户系统语言翻译资产中的 html 文件,如 Strings.xml in android studio
How to translate a html file in assets according to user system language like in Strings.xml in android studio
我在 assets 中有一个 HTML 文件,那个 HTML 文件有五点对我的英文申请的说明。我使用 webview 小部件在我的 android 应用程序中显示 HTML 页面。这是一个离线过程。因为我下载了assets里面的HTML文件。那么我可以使用多语言方式使用 HTML 页面吗?当我们使用 string.xml 然后我们添加语言。
如果有解决方案或替代方案,我需要它来显示信息。
assets 不支持 buckets,因此您必须将所有网页保存在不同名称的 assets 文件夹中(可能是前缀或后缀?)并为每种语言选择合适的一个(使用 Locale.getDefault().getDisplayLanguage()
)
您可以选择将语言作为一些值“注入”到加载的 HTML 内容中,并仅切换文本(还有图像?)保留一个(或 5 个,就像您拥有的那样)*.html 文件。这取决于您如何将此数据加载到 WebView
。 loadData
或 loadDataWithBaseURL
方法?在 HTML 中创建一些占位符(例如 LANG_INJECT_HERE
)并使用 String.replace
在 webview 加载页面数据之前传递语言(例如 htmlContent.replace("LANG_INJECT_HERE", lang)
)
我在 assets 中有一个 HTML 文件,那个 HTML 文件有五点对我的英文申请的说明。我使用 webview 小部件在我的 android 应用程序中显示 HTML 页面。这是一个离线过程。因为我下载了assets里面的HTML文件。那么我可以使用多语言方式使用 HTML 页面吗?当我们使用 string.xml 然后我们添加语言。 如果有解决方案或替代方案,我需要它来显示信息。
assets 不支持 buckets,因此您必须将所有网页保存在不同名称的 assets 文件夹中(可能是前缀或后缀?)并为每种语言选择合适的一个(使用 Locale.getDefault().getDisplayLanguage()
)
您可以选择将语言作为一些值“注入”到加载的 HTML 内容中,并仅切换文本(还有图像?)保留一个(或 5 个,就像您拥有的那样)*.html 文件。这取决于您如何将此数据加载到 WebView
。 loadData
或 loadDataWithBaseURL
方法?在 HTML 中创建一些占位符(例如 LANG_INJECT_HERE
)并使用 String.replace
在 webview 加载页面数据之前传递语言(例如 htmlContent.replace("LANG_INJECT_HERE", lang)
)