【问题标题】:How to speed up Google Translate如何加快谷歌翻译速度
【发布时间】:2011-01-27 04:41:10
【问题描述】:

我有一个包含 70000 个字符的网页。如您所知,通过 Google API 进行翻译时,一次最多只能发送 5000 个字符。这意味着我必须向 Google 发送数据 14 次(70000/5000),这需要很长时间,然后我的页面才会显示出来。有没有办法加快这个过程?

谢谢

【问题讨论】:

    标签: api google-translate


    【解决方案1】:

    您是否尝试过缓存翻译?

    【讨论】:

    • 是的,这就是我一直在想的。但我想知道我将如何实现它。我的网站有超过 100 万个页面,我在想当用户请求一个页面时,我的脚本将检查该页面是否已经存在。如果该页面已经存在并且不到 5 分钟,那么它将从该缓存中显示它,否则它将从 Google 翻译中获取一个新副本。因此,每个页面将从缓存中显示 5 分钟,然后刷新。
    • 哇 1M 页面...你必须提供更多关于上下文的信息,页面是如何生成的,有多少流量,页面的内容是什么(你必须全部翻译?),等等。然后你可以想到缓存或其他什么的最佳方法。
    • 网站是PHP,数据库是MySQL。所有页面都是动态的,是在从数据库中获取信息后生成的。我想翻译所有页面,但不是一次全部翻译。因为没有人会同时访问所有页面,所以我想在需要时即时翻译页面。
    • AFAIK 谷歌翻译禁止自动查询。所以你的 5 分钟缓存策略似乎是不可撤销的。我还是不明白你的用例,你需要像翻译一本书一样的纯文本翻译,还是更像是一个本地化问题?
    • 我没有收到这个自动查询?我的情况很简单。我有一个网站说 www.stackoverflow.com,我想为中国用户创建另一个子域 cn.stackoverflow.com,它将显示与主域相同的内容,但使用中文。我不想使用框架或谷歌工具栏,除非有办法隐藏它并在页面加载时自动进行翻译!?因为工具栏在浏览器中加载内容后会翻译内容,用户必须从下拉列表中选择语言。
    【解决方案2】:

    如果您使用了一些 AJAX 框架(您没有提及您的网页是用什么创建的,例如 c#),那么您可以通过 AJAX 框架进行 API 调用来加快速度。

    它看起来像这样(伪代码,因为我们不知道你在使用什么):

    Serve web page (almost instant)
    Web page starts AJAX call:
        Break text into chunks
        Foreach chunk
            Translate via API
            Append to the page
    

    这样,用户会立即看到页面,并且还会看到翻译在处理过程中逐段显示,而不必等到结束。

    【讨论】:

    • 我正在使用 PHP,这也是我的想法并尝试使用它,但我不想更改现有代码,因为有很多页面。所以我现在正在做的是,我通过 file_get_contents 获取页面的 HTML,然后将该 HTML 发送给 Google(一次 5000 个字符)。
    • 不幸的是,即使使用 AJAX API,AFAIK 5K 也是一个限制。
    【解决方案3】:

    我最好的选择是用一种语言生成一个页面,然后让谷歌通过 HTTP 翻译它并显示你自己的结果,以使其对用户无缝。我相信这就是谷歌浏览器在翻译网页时所做的。

    让谷歌翻译整个网页的网址示例:

    http://translate.google.com/translate?hl=en&sl=ru&tl=en&u=http%3A%2F%2Flinux.org.ru%2F

    当然,如果页面内容不经常更改,另一种选择是使用 Google Translate API 并缓存结果。

    【讨论】:

      【解决方案4】:

      转到 Google 中的 Javascript 文件,它还会引导您到 CSS 文件,制作一个或两个文件,或者您可以将 CSS 添加到您自己的文件中,现在在您的网站上制作自己的 Javascript 页面目录。每隔几秒或几分钟编写一段代码来更新 Javascript 代码,这将使转换更快,只需刷新他们提供的内容.. 玩得开心 :) 最终你也可以同时发送请求time 作为 char 5000 之后的第一个翻译,这应该相对容易做到。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-12
        • 2012-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-26
        相关资源
        最近更新 更多