Meaningless Notebook

我輩は雑記帖である。名はまだない。

Create Gutenberg Block で作ったブロックに翻訳を反映する18

Create Gutenberg Block で作ったブロックに翻訳を反映させるのにてこずった備忘録。

翻訳したプロジェクト

https://github.com/Angelmaneuver/sketchpad-modified-blocks

Create Gutenberg Block で作成した Gutenberg ブロックプロジェクト。

プラグイン形式で WordPress へ複数のブロックを追加する。

注意点は

  • WP-CLI (wp i18n を使用、gettext の msginit 等は使わない) が必要
  • Create Gutenberg Block はビルドすると 1 つの JavaScript になるので翻訳対象はビルド後の JavaScrpt ファイル

翻訳手順

1.POT ファイル生成

下記コマンドを実行して POT ファイルを生成する。

*

翻訳する Create Gutenberg Block がビルド済みである事

wp i18n make-pot . ./languages --allow-root --include=dist/blocks.build.js

2.PO ファイル生成→翻訳記載

コピ-コマンドで POT ファイルから POファイルを生成して翻訳する。

*

WordPress の 公式ガイドの手順がコピ-となっている

3.JSON ファイル生成

下記コマンドを実行して po ファイルから json ファイルを生成する。

*

po2json は使用しない事 (出力結果が異なる)

wp i18n make-json PO ファイルパス --no-purge --allow-root

4.JSON ファイル取捨選択

複数の json ファイルから ファイル中の source が下記となっている json ファイルを探し、それ以外は削除する。

{"translation-revision-date": 〜 ,"source":"dist\/blocks.build.js"

5. JSON ファイル名変更

ファイル名を ${text-domain}-${locale}-${handle}.json 形式に変更する。

6.wp_set_script_translations メソッド呼び出し追加

Create Gutenberg Block プロジェクトの 『src/init.php hogehoge 〜 _block_assets メソッド』に wp_set_script_translations メソッド呼び出しを追加する。

wp_set_script_translations(${text-domain}, ${handle}, 翻訳 json ファイルを格納しているディレクトリパス );

参考元

4 Responses to “Create Gutenberg Block で作ったブロックに翻訳を反映する”

  1. クロキュ より:

    私こういうのはわからないけど、一つ質問していいですか?
    C言語読めます?

    1. 玖堂恵 より:

      まぁ多少はね?

      でも私、典型的なWeb屋でC言語の開発経験は少ないからトリプルポインターとかクアドラプルポインターまで行くとちょっと…

      1. クロキュ より:

        ポインタ、ポインタ言っててよくわからんが玖堂恵さんがすごいのは伝わってきた。
        C言語勉強中のワシはチンプンカンプンです。わからなかったら玖堂恵さんに聞けばいいんだね☆

        1. 玖堂恵 より:

          Twitterで聞いてくれれば答える…かもしれない☆

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>