WPML

一个月前,我们宣布了 WPML 3.4 和 WPML Multilingual & Multicurrency for WooCommerce 3.8 的首个 Beta 版。今天,在经过 4 周的密集测试(以及一些修复和改进)之后,我们很高兴发布这些生产版本。

正如我们在Beta 版发布公告中所写,这些版本的 WPML 和 WPML Multilingual & Multicurrency for WooCommerce 侧重于大幅提升可用性和翻译工作流。此次更新使处理多语言 WooCommerce 网站变得更加容易,特别是在使用许多 WooCommerce 扩展时。简化的翻译界面将扩展添加的不同字段并排放在一个方便的翻译编辑器中。

下载


此次 WPML 更新可直接在您的 WordPress 管理后台中获取。如果您的站点已注册,您应该会在接下来的 12 小时内(WordPress 缓存更新状态的时间)在“插件”管理后台屏幕中收到更新通知。您也可以从您的帐户手动下载 WPML。

即将推出(近期)

减少 50% 负载


在过去几周里,我们还忙于分析 WPML 增加的负载,特别是在管理后台中。我们感谢所有帮助我们提供测试站点的客户。大多数站点显示了我们熟悉的问题,但几乎每个站点也向我们展示了一些对我们来说是全新的问题。我们了解到的这些问题与内容、服务器配置和主机环境有关。

我们已经发现了一些改进,这些改进将减少大多数运行 WPML 的站点(包括我们的站点)的执行时间。WPML 影响最大的是列表管理后台屏幕,例如 WooCommerce 产品页面。在那里,我们可以将执行时间和 SQL 查询减少约 1/2。在其他管理后台屏幕上,WPML 对负载的影响要小得多,因此相对改进较小(但与 WPML 造成的部分相比仍然很显著)。

我们将分两步推出这些性能改进。

WPML 3.4.1 和 WPML Multilingual & Multicurrency for WooCommerce 3.8.1(大约在 2-3 周内)将使这些列表页面的执行时间减少约 25%,查询减少 50%。

WPML 3.5 将采用一种全新的方式将字符串加载到内存中。初步测试表明,这种新算法非常有前景。它可以使使用 WPML 的站点比使用已编译 .mo 文件的站点加载速度更快。其理念是仅有选择地预加载每个页面(前端和管理后台)所需的字符串。这样,我们既避免了庞大的查询(加载所有内容),也避免了许多微小的查询(加载许多单独的字符串)。我们的测试表明,这比内置的“load_theme_textdomain()”和“load_plugin_textdomain()”调用运行得更快。我们的目标是在 CPU 时间、查询数量和内存方面实现非常显著的改进。

WPML 3.5 的时间表仍然很灵活。我们将看看能多快推出首个 Beta 版并发布公告。

全新改版的语言切换器


WPML 3.5 中的语言切换器是经过完全重新设计的。它是 100% 向后兼容的,因此所有现有站点都将照常运行。然而,它将为语言切换器提供新的可能性,我们希望这将使您的工作更加轻松。

仅举几例:


  • 能够在不同的菜单和小工具中显示不同的语言切换器,而不局限于一个

  • 与不同 CSS 框架(包括 Bootstrap 和当前的 WordPress 默认主题)的兼容模式

  • 每个语言切换器的颜色和设计自定义

一旦可用,我将撰写相关文章并将其包含在 Beta 版中。
我们将字符串用于许多不同的目的。许多主题在可翻译字符串中包含复杂的文本,通常还包含链接。在 WPML 3.5 中,字符串中的所有链接将自动调整为正确语言的 URL。当您将字符串发送进行翻译时,如果这些字符串包含 URL,WPML 将调整翻译后字符串中的 URL。

例如,假设您正在使用 Gravity Forms,并且有一条链接到某个页面的评论(非常常见的情况)。您想要翻译这条评论,并且希望该评论链接到翻译语言中的正确页面。

当您翻译 GF 表单时,WPML 会将文本转换为字符串,并将它们作为“包”发送进行翻译。译者只需要翻译文本。翻译完成后,WPML 将扫描所有已完成的字符串并检查它们是否包含链接。如果存在链接,WPML 将检查它是否指向已翻译为相同语言的页面。如果是,它将更新链接以指向该翻译。

这听起来很简单,但实际上是一个相当复杂的过程。我们需要处理任何顺序的翻译(无论您是在页面之前还是之后翻译字符串),并保持准确的记录。

反馈?


请告诉我们您使用 WPML 3.4 和 WPML Multilingual & Multicurrency for WooCommerce 3.8 的情况。我们很乐意听取您对本次版本更改以及下一轮计划的反馈。

觉得有用吗?分享这篇文章: