afragen / language-pack-maker
库,帮助从 po 文件创建 git 源 WordPress 语言包。
dev-master
2022-01-20 06:20 UTC
Requires
- php: >=7.0
- afragen/wp-cli-runner: ^0.1
- gettext/gettext: ^4.8
- wp-cli/i18n-command: ^2
This package is auto-updated.
Last update: 2024-09-05 05:43:30 UTC
README
需要 PHP 7.0 或更高版本。
使用通过 composer 安装到本地翻译仓库的 class Language_Pack_Maker
,创建包含翻译 .mo/.po/.json 文件的压缩包目录以及包含传递给 GitHub Updater 或 Translations Updater 库 的数据的 language-pack.json
文件。
通过 composer 安装此包。
运行 composer 命令:composer require afragen/language-pack-maker:dev-master
需求
此库要求所有 .po 文件都位于仓库根目录中的 /languages
目录中。
- 它将从
/languages
目录复制所有 .po 文件到临时目录。 - 它将从 .po 文件创建 .mo 文件。
- 它将为您创建 JavaScript 的 .json 翻译文件。
- 它将在仓库根目录中的
/packages
目录中创建压缩文件。 - 它将在仓库根目录中创建
language-pack.json
文件。 - 完成后将清理/删除临时目录。
生成的 JSON 文件格式如下。
[ { "{language}": [ { "type": "{plugin|theme} from GitHub Updater", "slug": "{$slug}", "language": "en_US", "version": "from GitHub Updater", "updated": "PO-Revision-Date from .po file header", "package": "/packages/github-updater-en_US.zip", "autoupdate": "1" } ] } ]
更新瞬态期望以下格式的 $transient->translations
。
$transient->translations( array( 0 => array( 'type' => 'plugin', 'slug' => 'akismet', 'language' => 'de_CH', 'version' => '3.1.11', 'updated' => '2016-05-12 18:04:38', 'package' => 'https://downloads.wordpress.org/translation/plugin/akismet/3.1.11/de_CH.zip', 'autoupdate' => 1, ), ) );
GitHub Updater 或 Translations Updater 库 将合并相关插件或主题数据与从 language-pack.json
中检索的数据,以向更新瞬态添加数据。语言更新将出现在 WordPress 控制台中。
要使用语言包创建器,您需要在本地打开并运行 https:///<my-translation-repo>/vendor/autoload.php
。这将创建必要的 .mo、.json、压缩文件和 language-pack.json
。
如果您在 JavaScript 文件中有翻译,您还应该执行以下操作。
在您的 composer.json
文件中添加以下内容后,它将在 composer update
上运行上述序列。
"scripts": {
"post-update-cmd": [
"php ./vendor/autoload.php"
]
}