WordBench 東京2月「みんなのテーマ開発」で Underscores の話をしました

昨日は WordBench 東京の2月勉強会「みんなのテーマ開発」〜自分の好きな作り方を話そう〜の回で、約100名の参加者が来場しました。9名のスピーカーがそれぞれテーマ作りについて語るという内容で、初心者から上級者の方まで何かしら新しい発見があったのでは…!

私は Automattic テーマチームが公開している Underscores (_s、アンダースコアーエス) という「スターター・テーマ」について話をしました。

この度 Underscores をトピックとして選んだ理由としては、「WordPress テーマの作り方を学びたいんだけど、どこから始めればいいの?」という質問を受けた時、答えとして「_s を触ってみては?」と話すことが多いからです。

私自身はまだ WordPress のデフォルトテーマがごくシンプルだった頃にデフォルトテーマをカスタマイズすることでテーマ開発を学んだのですが、現在は Twenty XX 系のデフォルトテーマよりも _s のほうが学習用としてはわかりやすいと思います(セッションでも話した通り、共通点も多いですが)。こうやって WordBench でも _s を取り上げることで、ますます_s 学習向けの日本語リソースが増えていけばいいなという気持ちもあります。

もちろんもっとシンプルな構造のテーマも世の中にはたくさんあるわけですが。仕事として Web 制作をするために WordPress のテーマ作りを深く知りたいという場合は、必要なお作法や複数のプロが議論をして到達したテクニックを学べるという意味で一度 _s (またはその他の人気スターター・テーマ、テーマ・フレームワーク) に触れてみるのをおすすめしたいと思います。

わぷーバッジ2種

わぷーの誕生5周年記念ということで、特別グッズ (バッジ) の販売も行いました。

関連リンクはスライド内でも紹介していますが、フォントをきちんと表示させる関係でクリッカブルにできなかったためこちらに貼っておきます。

当日の Twitter まとめはこちらです。

Understanding Underscores 〜「_s」テーマってなんだろう〜


(ちなみにこのブログは _s をスターターテーマとしてフォークしたテーマではなく、_s ベースの Automattic 製テーマを親テーマとした子テーマを使っています。こういう使い方としての子テーマを作るのは _s に関してもOKです)

WordPress 公式ディレクトリ登録テーマのオンライン翻訳

先月中旬から、オンラインの WordPress プロジェクト翻訳プラットフォームである translate.wordpress.org 上で、WordPress.org 公式ディレクトリ掲載テーマの翻訳ができるようになりました。

WordPress テーマのオンライン翻訳

先日の WordCamp Kansai での翻訳ハンズオンの際も質問が出ていたりしたのですが、この新しいプロセスについての詳細を軽くまとめてみました。

承認された翻訳はどのタイミングでテーマに含まれるのか?

もしテーマ作者がレポジトリ内に翻訳ファイルを残したままにしていた場合、translate.wordpress.org の翻訳はテーマの ZIP ファイルには含まれません。翻訳ファイルを取り除いたテーマに関しては、新しい「ランゲージパック」機能が活用されます。WordPress の管理画面からテーマをインストールすると、必要な言語ファイルのみが取り込まれるというものです。詳細は以下の投稿にて。

Theme Translations on WordPress.org

ただし現状、ランゲージパック対応のために翻訳ファイルを削除したレポジトリ構成にしているテーマはまだ非常に少ないようです。

新しい翻訳を提案したけどなかなか承認されないのはなぜ?

翻訳を承認・却下できる Translation Editor (以前は Validator と呼ばれていた) にとって、現在の UI ではどのテーマに承認待ちの翻訳があるのかを見つけるのが非常に難しいです。なので、単に気づいていない=承認されないという可能性が強そうです。

UI の特に並べ替え機能に関しては今後改善が見込まれるようですが、現状としてはメーリングリストWordSlack の #translate チャンネルで呼びかけるなどといった形で教えていただければと思います。

8月21日追記: 承認待ち翻訳を表示する画面が追加されました。引き続き、承認に時間がかかる場合は Translation Editor にお問い合わせください。

承認待ち状態の翻訳は背景が黄色になります。こちらはオランダ語の例。

承認待ち状態の翻訳は背景が黄色になります。スクリーンショットはオランダ語の例。

公式ディレクトリ登録テーマはすべてオンラインで翻訳できるの?

短い答えは「No」になります。過去2年間に1度でも更新されたことのあるテーマのみがオンライン翻訳可能になります。実際に見てみると1900以上のテーマがオンライン翻訳プラットフォーム上にあるようでした。

ちなみに、2年以上更新されていない古いテーマは、テーマディレクトリ内ページへの直リンク以外 (検索など) では現在表示できなくなっています。


Meta チームでは、このオンライン翻訳プラットフォームとランゲージパック機能が利用できることを「公式ディレクトリにテーマを追加する利点」のような感じでテーマ作者にアピールしたい考えのようです。確かに現状の翻訳管理はなかなか大変なので、これを機により広い利用者へテーマを広めたい作者の方たちが公式ディレクトリをさらに活用してくれるようになると良いですね。

このオンライン翻訳やランゲージパックについてはプラグイン向けプロセスを含めまだ未確定なところもありますので、詳しくは make.wordpress.org の metapolyglots、そして themesplugins などで随時情報が出てくるのを追ってみてください。

WordPress プラグイン・テーマ翻訳: 翻訳ファイルがあるのに反映されない場合のトラブルシューティング

引き続き、WordPress プラグイン・テーマ翻訳シリーズ第3弾です(その1その2)。

さあ、日本語の MO ファイルが無事完成した!と思っても、なぜか翻訳が適用されていない場合があります。悲しいことにこれ、けっこうよくあるんです…。そんな時のためのトラブルシューティング向けヒントをまとめてみました。

翻訳がまったく適用されていない場合

すべて英語のままという場合には、以下の原因が考えられます。

  • MO ファイルが正しく生成されていない(生成時にエラーが発生している場合など)
  • プラグイン・テーマ特有の textdomain が含まれていない(i18n Tools のadd-textdomain.php で解決可能。テーマ国際化ドキュメンテーション参照)
  • load_plugin_textdomain または load_theme_textdomain 関数が含まれていないか書式が誤っている
  • 翻訳ファイル名が間違っている
  • 翻訳ファイルを置く位置が間違っている(load_plugin_textdomain、load_theme_textdomain 関数で指定された位置に正しく置くこと)

翻訳が一部のみ適用されていない場合

一部だけ英語のままという場合には、以下の原因が考えられます。

  • MO ファイルが正しく生成されていない
  • プラグイン・テーマ付属の POT ファイルを使った場合、それが古くなっている(POT ファイルを更新して再翻訳)
  • 部分的に gettext 関数または textdomain 指定が抜けている

公式ディレクトリで translation-ready のタグがついていても、特にプラグイン・テーマ作者が英語圏の方の場合は実際に PO ファイルを用意してテストまではされていない場合がほとんど。実際に翻訳を反映してみた際にもしファイルの方におかしいところがあったら、フィードバックしていくと喜んでもらえると思います。

PO ファイルが無事完成したら、ぜひ翻訳ファイルを共有してパッケージに含めてもらいましょう。日本語 Codex には作者に連絡する際の例文などもあります。

トラブルシューティングに便利なプラグイン

Pig Latin

WordPress の翻訳プラットフォームである GlotPress の開発など、コアの国際化を進めてきたニコライの作ったプラグイン。きちんと文字列が翻訳可能になっている場合は英語の文字をピッグ・ラテンという独特の配列に変更してくれます。

Akismet in Pig Latin

Akismet プラグインの画面に Pig Latin を適用した例。

プラグインが出力する画面を見るだけで、文字列が英語のままの場合はコードが翻訳可能ではない、ピッグラテン表示だけど日本語になっていないという場合は翻訳漏れや POT ファイルが古いなどの理由で適用されていない、という判断ができます。

Pig Latin for Japanese

上記のプラグインのフォーク。ピッグラテンになる部分を意味不明な日本語の文字列にしてくれるので、こちらのほうが翻訳未対応の部分を見つけやすいかも。元の言葉がまったくわからなくなるのでナビゲーションにご注意を!

Akismet Pig Latin Japanese

Akismet プラグインの画面に Pig Latin Japanese を適用した例。

プラグイン・テーマ翻訳関連のドキュメンテーション

下の2つのリンク、Handbook についてはまだ完成していない部分もありますが、WordPress に特化した内容でかなり詳しい説明があるので参考になると思います。