Html 中 lang=zh 怎么在手机上不起作用?

2022-06-17 17:46:32 +08:00
 CSGO
下了个别人的多语言源码 html ,里面有个全语言的代码,可以识别不同系统显示不同语言,结果在 PC 上正常显示简体中文,但是手机上 chrome 、微信里打开,都是显示英文了,这是怎么回事?
1317 次点击
所在节点    问与答
14 条回复
ysc3839
2022-06-17 17:55:33 +08:00
这个 lang=zh 是在哪的?
CSGO
2022-06-17 17:56:15 +08:00
@ysc3839 在 html 开头,其实我想强制使用 zh ,而不要使用它的其他语言。
CSGO
2022-06-17 17:57:36 +08:00
@ysc3839
<!DOCTYPE html>
<html lang="zh">
<he
ysc3839
2022-06-17 18:07:24 +08:00
@CSGO 这里的 lang=zh 是告诉浏览器,用对应语言的规则进行渲染,大概会让浏览器使用对应语言的字体、换行规则、分词规则等等。
html 本身应该没有不同语言使用不同文本的功能,你那个多语言可能是用 JavaScript 实现的,其中应该有获取当前语言的代码,你应该去看看那部分有什么问题。
另外如果可以的话请发完整代码。
MossFox
2022-06-17 18:44:44 +08:00
试一下改为 zh-CN?
CSGO
2022-06-17 19:02:34 +08:00
@ysc3839 感谢!
比如这个页面: https://wangyifang.com/web/fake-uptade/win10/win10.html

他在电脑上打开,确实是中文的,但是小米手机上打开 chrome 还是微信里,都是英文的。这个网页里引用到了这个 js:
https://wangyifang.com/web/fake-uptade/assets/js/lang.js
看上去就是各种语言版本,我直接把里面的英文也改成中文里,发现手机上还是英文,说明它依然使用到了原本网页中的默认写的,例如“<h1 data-translate="_win10updates1">Installing Windows 10</h1>”

view-source:https://wangyifang.com/web/fake-uptade/win10/win10.html
ysc3839
2022-06-17 19:31:39 +08:00
@CSGO 这个脚本看起来损坏了还是啥?在浏览器中并不能正常执行。
CSGO
2022-06-17 20:24:46 +08:00
@ysc3839 但是 pc 上正常啊。
ysc3839
2022-06-17 20:27:27 +08:00
@CSGO 我这都不正常,请检查一下文件内容,确定那些乱码是符合预期的吗?
CSGO
2022-06-17 22:14:30 +08:00
@ysc3839 乱码是 cf 的锅,那个啥缩小 js 代码导致的,我关闭了正常了。现在还是之前的问题。
CSGO
2022-06-17 22:16:19 +08:00
@ysc3839 乱码的时候,连 pc 上都是英文版,说明那个 js 不起作用,现在恢复了,pc 上又是中文了。
ysc3839
2022-06-17 22:20:16 +08:00
@CSGO 刚刚在 Android Chrome 上测试了,是中文
des
2022-06-17 23:12:23 +08:00
@ysc3839 一样是中文
CSGO
2022-06-17 23:31:35 +08:00
看来是 cf 的缩小 js 文件导致的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/860348

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX