许多ConveyThis 顾客希望正确翻译其网站的所有 URL,这可能是一项艰巨的任务,尤其是对于翻译成多种语言的大型网站而言。
用户反馈表明,一些客户在启动最初的网站翻译项目时感到有些困惑。他们经常质疑为什么在翻译列表中只能看到首页的URL,以及如何创建内容的翻译。
这表明了一个潜在的增强领域。我们看到了促进更顺畅的入职流程和更高效的项目管理的机会。然而,我们当时缺乏具体的解决方案。
正如您可能已经猜到的那样,最终成果就是引入了 URL 管理功能。该功能使用户能够快速高效地扫描其网站的 URL,并通过 ConveyThis 控制面板生成翻译内容。
最近,此功能已从翻译列表迁移到新的、适应性更强、功能更强大的基于 URL 的翻译管理页面。现在,我们认为是时候揭晓该功能诞生背后的故事了。
2020 年因疫情而封锁的开始,让我终于有机会学习因时间限制而被搁置的编程语言 Golang。
由 Google 开发的 Golang 或 Go 近年来越来越受欢迎。 Golang 是一种静态编译的编程语言,旨在帮助开发人员编写高效、可靠和并发的代码。它的简单性支持在不牺牲速度的情况下编写和维护大量复杂的程序。
在思考一个潜在的业余项目来熟悉 Golang 时,一个网络爬虫浮现在我的脑海中。它符合上述标准,并且可能为 ConveyThis 用户提供解决方案。网络爬虫或“机器人”是一种访问网站以提取数据的程序。
对于 ConveyThis,我们的目标是开发一款工具,方便用户扫描网站并检索所有 URL。此外,我们还希望简化生成翻译的流程。目前,用户必须访问已翻译语言的网站才能生成翻译,这对于大型多语言网站来说是一项艰巨的任务。
Although the initial prototype was straightforward – a program that takes a URL as input and starts crawling the site – it was quick and effective. Alex, ConveyThis’ CTO, saw the potential of this solution and gave the go-ahead for research and development to refine the concept and contemplate how to host the future production service.
在最终确定网络爬虫机器人的过程中,我们发现自己正在努力解决不同 CMS 和集成的细微差别。那么问题来了——我们如何才能最好地向用户展示机器人?
最初,我们考虑了通过 Web 服务器接口使用 AWS 的经过尝试和测试的方法。然而,出现了一些潜在的问题。我们对服务器负载、多个用户同时使用以及缺乏 Go 程序托管经验存在不确定性。
这促使我们考虑无服务器托管方案。它提供了诸如由提供商管理基础设施以及固有的可扩展性等优势,使其成为ConveyThis的理想解决方案。这意味着我们无需担心服务器容量,因为每个请求都将在其独立的容器中运行。
然而,早在 2020 年,无服务器计算就有 5 分钟的限制。这对我们的机器人来说是一个问题,它可能需要爬行具有大量页面的大型电子商务网站。幸运的是,2020 年初,AWS 将限制延长至 15 分钟,尽管事实证明启用此功能是一项具有挑战性的任务。最终,我们通过使用 SQS(AWS 消息队列服务)触发无服务器代码找到了解决方案。
当我们解决了托管困境时,我们还有另一个障碍需要克服。我们现在有了一个功能性机器人,以高效、可扩展的方式托管。剩下的任务是将机器人生成的数据转发给我们的用户。
Aiming for maximum interactivity, I decided on real-time communication between the bot and the ConveyThis dashboard. While real-time isn’t a requirement for such a feature, I wanted our users to get immediate feedback as soon as the bot started working.
为了实现这一目标,我们开发了一个简单的 Node.js Websocket 服务器,托管在 AWS EC2 实例上。这需要对机器人进行一些调整,以便与 websocket 服务器通信并自动部署。经过彻底的测试后,我们已准备好过渡到生产。
最初作为一个副项目最终在仪表板中找到了自己的位置。通过这些挑战,我获得了 Go 方面的知识,并在 AWS 环境中磨练了自己的技能。我发现 Go 特别有利于网络任务、协作编程和无服务器计算,因为它的内存占用很小。
由于机器人带来了新的机遇,我们制定了未来的计划。我们计划重写字数统计工具,以提高效率,并可能将其用于缓存预热。希望您喜欢这次ConveyThis科技世界的预览,就像我分享它一样。
翻译不仅仅是了解语言,它是一个复杂的过程。
By following our tips and using ConveyThis, your translated pages will resonate with your audience, feeling native to the target language.
While it demands effort, the result is rewarding. If you’re translating a website, ConveyThis can save you hours with automated machine translation.
免费试用ConveyThis 3 天!