automattic / jetpack-composer-plugin
Composer 的自定义安装插件,用于将 Jetpack 包移动出 `vendor/` 目录,以便 WordPress 的翻译基础设施能够找到它们的字符串。
Requires
- php: >=7.0
- composer-plugin-api: ^2.1.0
Requires (Dev)
- automattic/jetpack-changelogger: ^4.2.6
- composer/composer: ^2.2 || ^2.4
- yoast/phpunit-polyfills: ^1.1.1
This package is auto-updated.
Last update: 2024-09-18 03:17:41 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-slug
或 extra.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(或更新版) 许可。