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

Chrome 是如何判断我访问的网站非中文的?

  •  
  •   hggg · 2016-11-21 15:56:11 +08:00 · 1443 次点击
    这是一个创建于 1113 天前的主题,其中的信息可能已经有所发展或是发生改变。
    每次访问外文网站就提示是否翻译为简体中文,这个提示的判断是如何实现的?

    1. 网站字符编码?
    2. 中文在网站所有文本中所占比例?
    3. 网站有某个特征标识?
    第 1 条附言  ·  2016-11-21 16:41:37 +08:00
    尝试了一下在百度文库看英文文献,依旧会提示翻译。我猜 chrome 应该是对网页内容进行判断得到的。
    13 回复  |  直到 2016-11-22 10:32:44 +08:00
        1
    stamaimer   2016-11-21 16:01:08 +08:00 via iPhone
    我猜是 http 的响应头里面有写
        2
    lhbc   2016-11-21 16:06:37 +08:00
    根据我的逆向思维(瞎猜),应该有多个途径
    因为我有一个页面,少量中文,大量英文,也问我是否需要翻译

    切确的优先级、算法可以去阅读 Chromium 的源码
        3
    hggg   2016-11-21 16:22:26 +08:00
    @stamaimer 我去瞅瞅~
        4
    hggg   2016-11-21 16:23:17 +08:00
    @lhbc 中文网站显示大量英文,英文网站显示大量中文~这种不知道 google 是怎么判断的。
        5
    Testalias   2016-11-21 16:26:48 +08:00
    你的浏览器默认语言设置的是不是中文
        6
    hggg   2016-11-21 16:29:19 +08:00
    @Testalias 我的默认语言设置和网站的语言会有什么联系?我觉得做法还是判断目标站的语言吧?
        7
    xmoiduts   2016-11-21 16:40:16 +08:00 via Android
    挂着$$上淘宝手机站, chrome 会提示日文,实际网页为繁中。
        8
    hggg   2016-11-21 16:43:10 +08:00
    @xmoiduts 提示的是翻译日文的网站?还是将网页翻译成日文?
        9
    bigpigeon   2016-11-21 16:44:16 +08:00
    http 头有个 accept-language
    是不是这个导致的
        10
    bigpigeon   2016-11-21 16:46:01 +08:00
    accept-language 排在最前面的就会作为默认语言,我上次在 setting 中吧 jp 提前后访问 google 会显示日语
        11
    xmoiduts   2016-11-21 17:38:40 +08:00
    @hggg 本网站为日文,是否翻译成中文
        12
    hggg   2016-11-21 22:16:28 +08:00
    @lhbc 写了中英段落混合的 demo 页面做了测试,好像英文文本所占比例大于中文所占比例时会提示翻译,否则不会。
        13
    yangg   2016-11-22 10:32:44 +08:00
    有没有可能是将源文件直接请求 google translate https://cloud.google.com/translate/docs/detecting-language
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1126 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 17:57 · PVG 01:57 · LAX 09:57 · JFK 12:57
    ♥ Do have faith in what you're doing.