许多ConveyThis用户希望其网站的所有 URL 都能够得到正确翻译,这可能是一项艰巨的任务,尤其是对于翻译成多种语言的大型网站而言。
用户反馈表明,一些客户发现他们最初的网站翻译项目的开始有些令人困惑。他们经常质疑为什么只能在翻译列表中查看主页 URL,以及如何为其内容创建翻译。
这表明了一个潜在的增强领域。我们看到了促进更顺畅的入职流程和更高效的项目管理的机会。然而,我们当时缺乏具体的解决方案。
正如您可能已经猜到的那样,我们推出了 URL 管理功能。该功能使用户能够快速有效地扫描其网站的 URL,并通过ConveyThis控制面板生成翻译内容。
最近,此功能已从翻译列表迁移到新的、适应性更强、功能更强大的基于 URL 的翻译管理页面。现在,我们认为是时候揭晓该功能诞生背后的故事了。
2020 年因疫情而封锁的开始,让我终于有机会学习因时间限制而被搁置的编程语言 Golang。
由 Google 开发的 Golang 或 Go 近年来越来越受欢迎。 Golang 是一种静态编译的编程语言,旨在帮助开发人员编写高效、可靠和并发的代码。它的简单性支持在不牺牲速度的情况下编写和维护大量复杂的程序。
在思考一个潜在的业余项目来熟悉 Golang 时,一个网络爬虫浮现在我的脑海中。它符合上述标准,并且可能为 ConveyThis 用户提供解决方案。网络爬虫或“机器人”是一种访问网站以提取数据的程序。
对于 ConveyThis,我们的目标是开发一款工具,方便用户扫描网站并检索所有 URL。此外,我们还希望简化生成翻译的流程。目前,用户必须访问已翻译语言的网站才能生成翻译,这对于大型多语言网站来说是一项艰巨的任务。
虽然最初的原型很简单——一个程序接受 URL 作为输入并开始抓取网站数据,但它快速高效。ConveyThis 的首席技术官 Alex 看到了这个解决方案的潜力,并批准进行研发,完善概念并思考如何托管未来的生产服务。
在最终确定网络爬虫机器人的过程中,我们发现自己正在努力解决不同 CMS 和集成的细微差别。那么问题来了——我们如何才能最好地向用户展示机器人?
最初,我们考虑了通过 Web 服务器接口使用 AWS 的经过尝试和测试的方法。然而,出现了一些潜在的问题。我们对服务器负载、多个用户同时使用以及缺乏 Go 程序托管经验存在不确定性。
这促使我们考虑无服务器托管方案。它提供了诸如由提供商管理基础设施以及固有的可扩展性等优势,使其成为ConveyThis的理想解决方案。这意味着我们无需担心服务器容量,因为每个请求都将在其独立的容器中运行。
然而,早在 2020 年,无服务器计算就有 5 分钟的限制。这对我们的机器人来说是一个问题,它可能需要爬行具有大量页面的大型电子商务网站。幸运的是,2020 年初,AWS 将限制延长至 15 分钟,尽管事实证明启用此功能是一项具有挑战性的任务。最终,我们通过使用 SQS(AWS 消息队列服务)触发无服务器代码找到了解决方案。
当我们解决了托管困境时,我们还有另一个障碍需要克服。我们现在有了一个功能性机器人,以高效、可扩展的方式托管。剩下的任务是将机器人生成的数据转发给我们的用户。
为了实现最大程度的互动,我决定在机器人和 ConveyThis 仪表盘之间实现实时通信。虽然实时性并非此类功能的必要条件,但我希望用户在机器人开始工作后能够立即获得反馈。
为了实现这一目标,我们开发了一个简单的 Node.js Websocket 服务器,托管在 AWS EC2 实例上。这需要对机器人进行一些调整,以便与 websocket 服务器通信并自动部署。经过彻底的测试后,我们已准备好过渡到生产。
最初作为一个副项目最终在仪表板中找到了自己的位置。通过这些挑战,我获得了 Go 方面的知识,并在 AWS 环境中磨练了自己的技能。我发现 Go 特别有利于网络任务、协作编程和无服务器计算,因为它的内存占用很小。
由于机器人带来了新的机遇,我们制定了未来的计划。我们计划重写字数统计工具,以提高效率,并可能将其用于缓存预热。希望您喜欢这次ConveyThis科技世界的预览,就像我分享它一样。
翻译不仅仅是了解语言,它是一个复杂的过程。
通过遵循我们的提示并使用ConveyThis ,您翻译的页面将会引起受众的共鸣,让他们感觉就像目标语言一样自然。
虽然需要付出努力,但结果却是值得的。如果您正在翻译网站,ConveyThis 的自动机器翻译功能可以帮您节省大量时间。
免费试用ConveyThis 3 天!