在一天内为Microsoft Office创建DeepL API插件

DeepL的员工每月都会参与全公司的“黑客星期五”活动,以从事日常工作以外的项目。黑客星期五是探索我们API的绝佳机会,有时成果还能惠及用户。事实上,我们近期发布的Google 表格-DeepL脚本正是"黑客星期五"项目的成果! 在2022年9月的"黑客星期五"活动中,DeepL软件开发工程师Marvin Becker与开发者布道师Tim Cadenbach共同打造了DeepL API的Microsoft Word加载项原型,使用户能够直接在Word文档中使用DeepL进行翻译。

概述如下:

我们为什么对这种整合感兴趣?

企业沟通是DeepL的热门应用场景——DeepL翻译能让全球多语种员工高效协作 同时确保敏感企业数据的安全。我们经常收到客户的请求,他们希望利用DeepL API构建自己的Office 加载项,并正在寻找入门资源。我们想亲自了解整合所需的条件,以便在客户有疑问时,我们能更好地帮助他们。 

以下,我们将与你分享我们从中学到了什么。我们还将提供开源代码,助您更快启动项目。 准备好了吗?开始吧! 

步骤零(可选):做一点功课  

如果您是首次接触 Office API,我们建议您阅读 《了解 Office JavaScript API》 在 Microsoft 的文件中。简而言之,所有Office产品都提供一个 通用API ,其中包含 产品专属API 。 浏览以下教程也可能有所帮助: 本教程 再进入技巧1。 

技巧1:用脚本实验室(Script Lab)建立原型(你也可以使用我们的模型) 

脚本实验室 是由微软维护的开源项目。脚本实验室允许用户在Excel、Outlook、Word或PowerPoint环境中使用Office JavaScript API。脚本实验室 GitHub 存储库 包含一个入门教程,助您快速上手。

脚本实验室是快速编写代码并查看代码的理想方式,仅由一个JavaScript、HTML和CSS文件组成。因此,我们也使用脚本实验室创建了我们的初始原型。

虽然该原型还不是你可以最终与团队成员分享的实际插件,但它却为你展示了DeepL API的可能性以及你的插件能够提供的用户体验。

你一定还记得在前文我们承诺过的开源代码吧!脚本实验室允许用户导入他人分享的代码,因此我们已经发布了DeepL - Word片段,以便任何人都可以试用。你可以在GitHub上查看该代码。

如使用该代码,你需要一个DeepL API密钥。您可以 在此注册账户

只需按照说明复制并粘贴Gist YAML文件,在第32行的占位符处插入您的DeepL API密钥,即可通过几次点击运行我们的代码片段。

值得一提的是,脚本实验室的片段代码可以在你设置插件模板时重复使用,因此你在脚本实验室所做的工作以后都会派上用场。

步骤二:用Yeoman生成器创建一个Office插件项目

我们已经在脚本实验室中设计了原型,并且掌握了Office脚本的基本知识,我们可以开始使用Yeoman创建一个实际的插件。Yeoman是一个开源工具,简化了新项目的创建。Microsoft有自己的预制模板,通常被称为“Yo Office”。你可以直接使用该模版。 

流程说明如下:Office 加载项 Yeoman 生成器.

按照设置说明,将脚本实验室的代码复制到你新创建的资源库。你无需完成全部配置,可通过执行“npm run start”立即开始项目。这将启动Word并自动侧载您的加载项。 开发时可使用任意IDE,但生成的模板与微软自家的代码编辑器VS Code或Visual Studio配合效果最佳。然而,为了获得更好的编码和调试体验,我们建议你使用Visual Studio。

步骤三:导入DeepL API

实现对DeepL的导入其实很简单:仅需一个JavaScript脚本调用文本翻译端点。对于一个简单原型来说,这已经足够了。若需启用 术语表 在您的加载项中,您需要额外进行一些配置工作。

我们没有使用DeepL的官方 Node.js客户库 ,因为该库并非为客户端 JavaScript 代码设计。此处的考量在于安全性——在调用客户代码时,您将暴露API密钥。 您可查阅我们分享的GIST文件(从第102行开始),以更详细地了解我们的实现方案。

步骤四:为Mac用户调试 

近年来,Microsoft为支持Mac用户进行了大量投资。虽然Mac系统很适合.NET核心,但在Windows环境和微软Office应用程序中仍存在不足之处。因此,在Mac系统中很难调试Microsoft的软件。提姆是Microsoft的忠实粉丝,所以他没有任何问题,但Mac用户马文则需要下载Parallels才能正常调试。  在Parallels中运行Microsoft Office和Visual Studio代码 Parallels 中运行Microsoft Office和Visual Studio代码,可让您正常调试应用程序并处理加载项。虽然该方案并不完美,至少可以辅助你完成工作。

步骤五:与用户分享你的插件

Office应用程序中的网络视图用于加载插件,并通过iFrames显示。这意味着你需要将你的插件存储在你能访问的网络服务器上。您可以阅读更多关于 有关如何部署和发布 Office 加载项的信息 请参阅 Microsoft 文件。 

一旦加载项成功部署并运行,任何Office管理员均可通过Microsoft 365管理中心将其分发至组织内的用户和组。 通过 Microsoft 365 管理中心。在管理中心部署的插件可以立即使用。

奖励:将你的插件扩展到其他Microsoft应用程序 

你可以很简单地将你的插件扩展到其他应用程序中。Office插件共享很多组件,一个应用程序的插件可以在所有支持的应用程序(Outlook、Word、Excel、PowerPoint、Visio和OneNote)中运行。

然而,所有的应用程序都有不同的事件。在我们的Word示例中,我们一直使用OnTextSelected事件,而在Excel中,您可能会使用类似OnColumnSelected或OnRow事件。 要使加载项在其他应用程序中生效,只需添加您希望加载项响应的对应事件或操作——就是这么简约。你的大部分代码可以在不同的应用程序中重复使用。  

一般来说,我们建议你把你的具体代码转换成函数,以便重复使用和调用你需要的应用程序的具体内容。我们建议您阅读此处的 此处提供的文章。

另外,还有一个不错的 MS Learn 模块 可以提供帮助。

总结

我们希望你可以受益于该概述!如有任何疑问,欢迎在GitHub 仓库中免费创建包含 Script Lab 代码片段的 issue 并告知我们.  

我们祝愿你在DeepL API - Microsoft Office的旅程中一切顺利。 

分享