1ヶ月前、WPML 3.4およびWPML Multilingual & Multicurrency for WooCommerce 3.8の最初のベータ版を発表しました。本日、4週間にわたる集中的なテスト(および多数の修正と改善)を経て、これらを製品版としてリリースできることを嬉しく思います。
ベータ版の発表記事に書いたように、WPMLおよびWPML Multilingual & Multicurrency for WooCommerceのこれらのバージョンは、ユーザビリティと翻訳ワークフローの大幅な改善に焦点を当てています。このアップデートにより、特に多くのWooCommerce拡張機能を使用している場合、多言語WooCommerceサイトでの作業が容易になります。合理化された翻訳インターフェースにより、拡張機能が追加するさまざまなフィールドが便利な翻訳エディタに並べて配置されます。
ダウンロード
このWPMLのアップデートは、WordPress管理画面から直接利用できます。サイトが登録されている場合、今後12時間(WordPressがアップデートのステータスをキャッシュする時間)以内に「プラグイン」管理画面でアップデート通知を受け取るはずです。アカウントから手動でWPMLをダウンロードすることもできます。
今後の予定(近日公開)
50%の負荷軽減
過去数週間、特に管理画面においてWPMLが追加する負荷の分析にも取り組んできました。テストサイトでご協力いただいたすべてのクライアントに感謝いたします。ほとんどのサイトでは私たちがすでに把握している問題が見られましたが、ほぼすべてのサイトで、私たちにとって新しい別の問題も確認されました。今回判明した問題は、コンテンツ、サーバー構成、ホスティング環境に関連するものです。
WPMLを実行しているほとんどのサイト(私たちのサイトを含む)の実行時間を短縮するいくつかの改善点をすでに見つけています。WPMLの影響が最も大きかったのは、WooCommerceの「商品」ページなどのリスト表示の管理画面でした。そこでは、実行時間とSQLクエリを約1/2に削減できます。他の管理画面では、WPMLが負荷に与える影響ははるかに小さいため、相対的な改善も小さくなります(それでもWPMLが占める割合と比較すると重要です)。
パフォーマンスの改善は2つの段階に分けて実施する予定です。
WPML 3.4.1およびWPML Multilingual & Multicurrency for WooCommerce 3.8.1(約2〜3週間後)には、これらのリストページに対する実行時間の約25%の短縮と、クエリの50%の削減が含まれます。
WPML 3.5では、文字列をメモリに読み込むためのまったく新しい方法が導入されます。予備テストでは、この新しいアルゴリズムが非常に有望であることが示されています。これにより、WPMLを使用するサイトの読み込み速度が、コンパイル済みの.moファイルを使用するサイトよりもさらに速くなる可能性があります。その仕組みは、各ページ(フロントエンドおよび管理画面)に必要な文字列のみを選択して事前に読み込むというものです。このようにして、巨大なクエリ(すべてを読み込む)と多数の小さなクエリ(個々の文字列を多数読み込む)の両方を回避します。私たちのテストでは、これが組み込みの「load_theme_textdomain()」および「load_plugin_textdomain()」の呼び出しよりもさらに高速に機能することが示されています。CPU時間、クエリ数、メモリの大幅な改善を目指しています。
WPML 3.5のスケジュールはまだ柔軟に変更される可能性があります。最初のベータ版をどれだけ早く準備できるかを確認し、発表する予定です。
刷新された言語スイッチャー
WPML 3.5の言語スイッチャーは完全に再設計されています。100%の下位互換性があるため、既存のすべてのサイトはそのまま機能します。しかし、言語スイッチャーの新たな可能性を提供し、皆さまの作業がより簡単になることを期待しています。
いくつか例を挙げます:
- 1つに制限することなく、異なるメニューやウィジェットに異なる言語スイッチャーを表示する機能
- Bootstrapや現在のWordPressデフォルトテーマなど、異なるCSSフレームワークとの互換性モード
- 言語スイッチャーごとの色やデザインのカスタマイズ
利用可能になり次第、これについて記事を書き、ベータ版に含める予定です。
文字列内のリンクの翻訳
私たちはさまざまな目的で文字列を使用します。多くのテーマには、翻訳可能な文字列の中に複雑なテキストが含まれており、多くの場合リンクも含まれています。WPML 3.5では、文字列内のすべてのリンクが正しい言語のURLに自動的に調整されます。文字列を翻訳に送信する際、これらの文字列にURLが含まれている場合、WPMLは翻訳された文字列内のURLを調整します。
たとえば、Gravity Formsを使用していて、ページへのリンクが含まれるコメントがある場合(非常によくある状況)を想定してみましょう。このコメントを翻訳し、翻訳された言語の正しいページにコメントがリンクするようにしたいとします。
GFフォームを翻訳する際、WPMLはテキストを文字列に変換し、「パッケージ」として翻訳に送信します。翻訳者はテキストのみを翻訳する必要があります。翻訳が完了すると、WPMLは完了したすべての文字列をスキャンし、リンクがあるかどうかを確認します。リンクがある場合、WPMLはそれが同じ言語に翻訳されたページへのリンクであるかを確認します。その場合、リンクを更新して翻訳先を指すようにします。
これは簡単に聞こえますが、かなり複雑なプロセスです。どのような順序でも(ページの前後に文字列を翻訳したかに関係なく)翻訳を処理し、正確な記録を維持する必要があります。
フィードバック
WPML 3.4およびWPML Multilingual & Multicurrency for WooCommerce 3.8の使用感についてぜひお知らせください。今回のリリースの変更点や、次回以降の計画についてのフィードバックをお待ちしております。

