automattic/jetpack-composer-plugin

Composer 的自定义安装插件,用于将 Jetpack 包移动出 `vendor/` 目录,以便 WordPress 的翻译基础设施能够找到它们的字符串。

安装次数: 20,303

依赖项: 8

建议者: 0

安全: 0

星标: 4

关注者: 5

分支: 1

类型:composer-plugin

v2.0.3 2024-08-26 14:48 UTC

README

这是一个为 Composer 定制的安装插件,用于帮助 WordPress 翻译打算作为插件和主题共享代码的 Composer 库。

当此插件安装后,类型设置为 jetpack-library 的库将被安装到 jetpack_vendor/ 而不是常规的 vendor/。同时,还将从这些库中收集翻译文本域信息,并将其写入到 jetpack_vendor/i18n-map.php

在 WordPress 插件或主题中使用

为了使用此插件,需要将其放入 composer.json 文件的 require 部分中。

	"require": {
		"automattic/jetpack-composer-plugin": "*"
	},

您还希望将 extra.wp-plugin-slugextra.wp-theme-slug 设置为 WordPress.org 的 slug,这同时也是插件或主题翻译的文本域。

	"extra": {
		"wp-plugin-slug": "my-plugin"
	},

最后,为了使库的翻译正常工作,您还需要引入 automattic/jetpack-assets 并在加载自动加载器后立即包含以下内容:

\Automattic\Jetpack\Assets::alias_textdomains_from_file( __DIR__ . '/jetpack_vendor/i18n-map.php' );

由库使用

想要在 WordPress 插件或主题中使用的库需要在 composer.json 中将 type 设置为 jetpack-library。库包 不应 自身依赖于 automattic/jetpack-composer-plugin,尽管它可以 建议 它。

之后,所有对 __()_x() 和其他 WordPress i18n 函数的调用都应使用库唯一的文本域。这个文本域还需要在 composer.json 中声明为 extra.textdomain

	"extra": {
		"textdomain": "my-library"
	},

许可证

composer-plugin 使用 GNU 通用公共许可证 v2(或更新版) 许可。