V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
CSGO
V2EX  ›  问与答

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

  •  
  •   CSGO · 2022-06-17 17:46:32 +08:00 via Android · 1317 次点击
    这是一个创建于 924 天前的主题,其中的信息可能已经有所发展或是发生改变。
    下了个别人的多语言源码 html ,里面有个全语言的代码,可以识别不同系统显示不同语言,结果在 PC 上正常显示简体中文,但是手机上 chrome 、微信里打开,都是显示英文了,这是怎么回事?
    14 条回复    2022-06-17 23:31:35 +08:00
    ysc3839
        1
    ysc3839  
       2022-06-17 17:55:33 +08:00 via Android
    这个 lang=zh 是在哪的?
    CSGO
        2
    CSGO  
    OP
       2022-06-17 17:56:15 +08:00 via Android
    @ysc3839 在 html 开头,其实我想强制使用 zh ,而不要使用它的其他语言。
    CSGO
        3
    CSGO  
    OP
       2022-06-17 17:57:36 +08:00 via Android
    @ysc3839
    <!DOCTYPE html>
    <html lang="zh">
    <he
    ysc3839
        4
    ysc3839  
       2022-06-17 18:07:24 +08:00 via Android
    @CSGO 这里的 lang=zh 是告诉浏览器,用对应语言的规则进行渲染,大概会让浏览器使用对应语言的字体、换行规则、分词规则等等。
    html 本身应该没有不同语言使用不同文本的功能,你那个多语言可能是用 JavaScript 实现的,其中应该有获取当前语言的代码,你应该去看看那部分有什么问题。
    另外如果可以的话请发完整代码。
    MossFox
        5
    MossFox  
       2022-06-17 18:44:44 +08:00
    试一下改为 zh-CN?
    CSGO
        6
    CSGO  
    OP
       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
        7
    ysc3839  
       2022-06-17 19:31:39 +08:00
    @CSGO 这个脚本看起来损坏了还是啥?在浏览器中并不能正常执行。
    CSGO
        8
    CSGO  
    OP
       2022-06-17 20:24:46 +08:00
    @ysc3839 但是 pc 上正常啊。
    ysc3839
        9
    ysc3839  
       2022-06-17 20:27:27 +08:00 via Android
    @CSGO 我这都不正常,请检查一下文件内容,确定那些乱码是符合预期的吗?
    CSGO
        10
    CSGO  
    OP
       2022-06-17 22:14:30 +08:00
    @ysc3839 乱码是 cf 的锅,那个啥缩小 js 代码导致的,我关闭了正常了。现在还是之前的问题。
    CSGO
        11
    CSGO  
    OP
       2022-06-17 22:16:19 +08:00
    @ysc3839 乱码的时候,连 pc 上都是英文版,说明那个 js 不起作用,现在恢复了,pc 上又是中文了。
    ysc3839
        12
    ysc3839  
       2022-06-17 22:20:16 +08:00 via Android   ❤️ 1
    @CSGO 刚刚在 Android Chrome 上测试了,是中文
    des
        13
    des  
       2022-06-17 23:12:23 +08:00 via iPhone   ❤️ 1
    @ysc3839 一样是中文
    CSGO
        14
    CSGO  
    OP
       2022-06-17 23:31:35 +08:00
    看来是 cf 的缩小 js 文件导致的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3636 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:23 · PVG 18:23 · LAX 02:23 · JFK 05:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.