对于对多语言 Discourse 站点感兴趣的任何人,我想分享一些关于我最近能够集成到我的托管站点上的产品的相关信息。我与这家公司没有任何关系,除了作为一名客户,我也未从中获得任何报酬。我只是对这项技术印象深刻,并希望分享它,因为翻译非常困难,而这项技术让它变得如此容易!
该产品名为 Linguise。您可以在此视频中了解它是如何与 Discourse(或类似技术)配合使用的。
基本上,您创建一个帐户(免费试用 30 天),它会引导您为站点的子域设置一些 DNS CNAME,其中包含一个 2 字母的语言前缀。例如,fr.mysite.com、es.mysite.com——每个您想要提供的语言都对应一个。
然后,他们会提供一个自定义的 <script> 元素,您需要将其包含在 Discourse 站点上。最简单的方法是创建一个新的主题组件,然后将其脚本命令放在 <Head> 部分。
仅此而已。您的站点上现在会出现一个语言切换器(您可以轻松调整其位置和其他特性)。
点击该切换器并选择另一种语言,页面将刷新。您会看到大多数屏幕元素会模糊一两秒钟,然后整个页面将被机器翻译。
这包括菜单、标题、类别名称、帖子名称、帖子内容等。甚至管理和设置屏幕也会被翻译。
这太棒了。您可以选择 85 种语言,定价基于翻译的单词数量——它不关心使用哪种语言。起价约为每月 15 美元,最高为每月 45 美元,可无限使用。
这项技术几乎适用于任何站点。他们直接支持 Wordpress、Joomla、Squarespace、Wix、Drupal 和许多电子商务网站等。但这种适用于 Discourse 的方式是一种通用机制,可以翻译任何站点——即使是那些您没有源代码或后端访问权限的站点,只要您有办法包含那个 <script> 标签即可。
6 个赞
Bathinda
(Bathinda Helper)
3
Linguise 的视频指南不足以帮助我翻译我的 Discourse 网站。
在第一步,我们需要选择我们的平台时,“Discourse”不在选项中,而且 YouTube 视频也没有说明如果我们使用的是 Discourse 网站应该从列表中选择什么(而且我们必须做出正确的选择才能继续)。
你好,Bathinda。你选择了“其他云托管CMS”。
2 个赞
您好 Thomas,
您可以通过转到“管理/主题/组件”轻松创建自己的空主题组件。
点击“安装”,然后在出现的对话框中,点击“创建新项”:
在下一个对话框中,为其命名:
这样就创建了一个空组件。现在您需要做的就是点击“编辑 CSS/HTML”:
转到名为“Head”的选项卡。在那里,您将粘贴 Linguise 在其网站上设置好后提供的自定义脚本标签:
在我的图片中,我包含了一些注释,但通常您只会看到一个空白列表,您可以在其中粘贴自定义的 Linguise URL。
请注意,在与 Linguise 技术支持合作时,我们发现脚本标签需要稍作修改,因为有时页面在切换语言时需要手动刷新。
如果您将标签的开头更改为 \u003cscript defer src=…,就可以解决手动刷新问题。
顺便说一句,这些简单的自定义组件可以用作一种安全优雅的方式来覆盖您正在使用的主题并影响许多屏幕元素。
例如,在我的网站上,我禁用了我感觉会混淆用户群的许多屏幕元素。为此,我在 CSS 选项卡中添加了一些 CSS 选择器,属性设置为 display: none。
例如,这会隐藏侧边栏上的“添加部分”按钮:
.sidebar-wrapper .sidebar-footer-wrapper .btn-flat.add-section {
display: none;
}
棘手的部分是找出 CSS 选择器(即开括号之前的部分),但如果您使用网页浏览器的开发者工具,通常可以找到屏幕项并复制它们的选择器。
祝您好运!
3 个赞
我想跟进我们让 Linguise 与 Discourse 良好协作的一些额外细节。
首先,在我们的网站上,我们使用 Discourse SAML 插件来根据不同的用户存储对用户进行身份验证。我们发现在此特定情况下存在 cookie 问题。
幸运的是,Communiteq(https://www.communiteq.com/)的人员(他们是一家出色的 Discourse 托管公司)能够分析该问题,并以插件的形式创建了一个微小的修复程序来解决它。但对于大多数人来说,这并不需要。
有一个限制您应该知道;Linguise 在使用其默认语言(在我们的例子中是英语)运行时不会进行任何翻译。
通常这不是问题,但有一个情况是:用其他语言(例如西班牙语)撰写的帖子,当 Linguise 设置为英语时,会以西班牙语显示。用任何其他语言,它们都会被翻译,但不是用默认语言。
Linguise 未来可能会改进这一点,但没有承诺。
解决方法是同时使用 Discourse Translator 插件。您需要设置对其中一家翻译公司(Google、Yandex、Microsoft 等)API 的访问权限,然后在插件中配置这些凭据。
完成此操作后,如果您处于英语状态并阅读了某人以西班牙语创建的帖子,您将看到一个小地球图标
单击该图标会在原始内容下方显示翻译。
两者结合起来,可以涵盖所有情况,尽管不如我希望的那样优雅。
我们使用一个 Google Cloud 账户,该账户每月提供前 500,000 个单词的免费使用额度,我们很少超过此限制。我认为其他供应商也有类似的优惠。
希望这对某人有所帮助。
3 个赞