afragen/language-pack-maker

库,帮助从 po 文件创建 git 源 WordPress 语言包。

dev-master 2022-01-20 06:20 UTC

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 UpdaterTranslations 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 UpdaterTranslations 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"
    ]
  }