制作WordPress.org

开的12个月前

关闭8个月前

#7296 关闭 增强 (固定的)

将PHP文件添加到语言包

报告人: 瑞士人简介 瑞士风格 所有者:
里程碑: 优先: 正常的
组件: 翻译网站和插件 关键词: has-patch接口 has-unit-测试
复写的副本:

描述

上下文:

WordPress核心性能团队正在致力于Performant Translations功能插件它使用了一种新的方法来处理WordPress中的翻译文件,使得本地化速度极快。这个插件通过将传统的MO翻译文件替换为PHP文件来帮助加快本地化WordPress站点的速度,PHP文件的解析速度要快得多。

有关更多信息,请访问https://make.wordpress.org/core/2023/09/05/call-for-testing-performant-translations网站/

我们的目标是将这个新功能合并到WordPress 6.5中,但目前还没有什么固定不变的。我只是想先开始做所有的基础更改。

无论如何,一旦实现,translate.wordpress.org将需要作为语言包的一部分提供PHP文件。

->以下是为GlotPress添加PHP支持的PR

我确实有一个补丁\WordPressdotorg\GlotPress\Customizations\CLI\Language_Pack(WordPress网站)类为插件和主题启用此功能。但我找不到在哪里为核心生成语言包。任何帮助都将不胜感激。

另一个悬而未决的问题是,是否以及如何有条件地添加PHP文件。如果站点运行WordPress 6.0,语言包(核心或插件/主题)不需要包含PHP文件。虽然这也没有什么大碍,因为文件很小(比MO文件小)。

附件(2)

7296.差异(2.7 KB)-由添加瑞士风格 12个月前.
Language_Pack命令类的POC修补程序
7296.2差异(4.5 KB)-由添加瑞士风格 12个月前.
更新的补丁程序还为核心导出PHP文件

将所有附件下载为:.zip

更改历史记录(21)

@瑞士风格
12个月以前

Language_Pack命令类的POC修补程序

#1 @米哈丹
12个月以前

这是一个好主意,希望这种方法很快就会出现在WordPress核心中!

@瑞士风格
12个月以前

更新的补丁程序还为核心导出PHP文件

这张票是在PR#5306WordPress/WordPress-develop开发通过@瑞士风格.


12个月以前
#2

  • 关键词 has-patch接口 has-unit-测试补充

插件的显著变化

  • 没有读取时自动将任何MO文件转换为PHP文件。
    • 这避免了对常规请求进行任何FS交互,避免了任何意外结果。
    • 使逻辑简单得多。
    • 这个附加功能可以保留在Performant Translations插件中,供希望使用它的用户使用。
  • 与集成语言包升级程序自动将MO文件转换为PHP文件。
    • 之所以需要这样做,是因为WordPress.org还没有在语言包中提供PHP文件。
    • 如果有人使用自定义翻译平台,如特拉杜托,由他们自己提供PHP文件(如果他们愿意的话)

相关的

To-do(待办事项)

  • []合并插件的最新更改

Trac票:

#3 @奥托42
12个月以前

我们能得到一些统计数据来说明为什么这种改进更好吗?也许可以简单解释一下它是如何工作的?

#4 @瑞士风格
12个月以前

@Otto42当然,请看https://make.wordpress.org/core/2023/07/24/i18n-性能分析/深入分析各种解决方案,包括PHP文件方法,包括广泛的基准测试和比较。另请参见https://make.wordpress.org/core/2023/09/05/call-for-testing-performant-translations网站/如票据描述中所链接的。

tl;dr:WP将加载返回包含翻译的数组的PHP文件,而不是MO文件,这会更快,并且也得益于OPcache。

我们的目标是将6.5与所有必要的博客帖子等合并。这张罚单是为了让meta尽早看到这一点。

@海洋90对发表了评论PR#5306:


11个月以前
#5

如果MO文件有对应的PHP文件,则加载该文件。

为了使公关更加“简单”,我们可以暂时从公关中删除这一部分吗?因此,基本上作为第一步,我们只需添加基础(替换POMO),然后使用PHP格式进行扩展。这将使我们更有信心相信,替代品在仅使用MO的情况下仍能按预期工作,而MO在一段时间内仍可能是主要用例。

@瑞士风格对发表了评论PR#5306:


11个月以前
#6

@ocean90你提议的时间表是什么?对于逐步采用,我建议不要删除该部件,只需更改翻译文件格式过滤器至瞬间。稍后,我们可以简单地将默认值切换到php(电话)。考虑到PHP的优点,我建议尽早这样做。或者,保留默认值,但还不发送PHP翻译文件(因此通过翻译API进行控制)

@瑞士风格对发表了评论PR#5306:


11个月以前
#7

顺便说一句,是的,我知道考试不及格。不,泄漏的岩芯测试并不有趣。

这张票是在松弛(Slack)瑞士斯皮迪的核心表现。查看日志.


9个月以前

@瑞士风格对发表了评论PR#5306:


8个月以前
#9

@对于返回类型,我实际上不确定它们是否允许进入核心,这就是为什么我曾经删除了它们。

但看起来它们是:https://developer.wordpress.org/coding-standards/wordpress-coding-sstandards/php/#type-声明-由于PHP7是最低要求,所以只需要对文档进行一些更新

#11 @瑞士风格
8个月以前

更新的修补程序位于此处:https://meta.trac.wordpress.org/tickt/7296

#13 @瑞士风格
8个月以前

这刚刚并入核心https://core.trac.wordpress.org/changeset/57337!

@dd32@ocean90感谢您对https://github.com/WordPress/WordPress.org/pull/191这样我们就可以将这种新的文件格式添加到语言包中。拼图的最后一块🧩🚀

@瑞士风格对发表了评论PR#5306:


8个月以前
#14

@mukeshpanchal27感谢您的反馈。如果我很容易错过对已关闭个人关系的反馈,我几乎没有看到你的评论,因为我没有收到任何通知。最好单独ping。

@第32天对发表了评论采购订单号191:


8个月以前
#15

我还没有看过这个,但看起来它会起作用。

不过,在合并之前,GlotPress需要发布一个alpha版本;作为php(电话)格式尚未启用https://plugins.trac.wordpress.org/browser/glotpress/trunk/gp-includes/formats

@口香糖27对发表了评论PR#5306:


8个月以前
#16

是的,但反馈很挑剔,所以我错过了打电话给你。

@瑞士风格对发表了评论采购订单号191:


8个月以前
#17

不过,在合并之前,GlotPress需要发布一个alpha版本;作为php(电话)格式尚未启用插件.trac.wordpress.org/browser/glotpress/trunk/gp-includes/formats

现在已完成,新格式可用

@阿米埃罗对发表了评论采购订单号191:


8个月以前
#18

我有坚信的这个公关给Meta,所以我把它关闭了。

#19 @阿米埃罗
8个月以前

  • 分辨率设置为固定的
  • 状态已从更改新的关闭
注:请参见TracTickets公司有关使用的帮助门票。