テーマ翻訳:実践編

閲覧数: 25(1)

テーマ翻訳についての理解を深めるため「実践編」として「Search Form(検索メニュー)」を翻訳(日本語化)する方法を説明します。「Fotografie」テーマではトップページなどに表示される「虫メガネ」アイコンをクリックすると小さなダイアログが現れます。何もしないと「英語」表記のままです。キーワードを入力するフィールドには「Enter Keyword…」その下のボタンには「SEARCH」と表示されます。このダイアログを表示しているのは以下のソースコードです。

<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
        <label>
                <span class="screen-reader-text"><?php echo esc_attr_x( 'Search for:', 'label', 'fotografie' ); ?></span>

                <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Enter keyword&hellip;', 'placeholder', 'fotografie' ); ?>" value="<?php the_search_query(); ?>" name="s" />
        </label>

        <button type="submit" class="search-submit"><span class="search-button-text"><?php echo esc_html_x( 'Search', 'submit button', 'fotografie' ); ?></span></button>
</form>

これらのソースコードの中で「翻訳」したいのは、「’Search for:’」「’Enter keyword…’」「’Search’」の3つです。そのうち「’Search for:’」は翻訳ファイルにすでに含まれているので、ここで対応しなければならないのは後の2つということになります。もちろんここを直接修正しても表示は日本語化出来ますが、そのような「ハードコーディング」は後々のメンテナンス性低下を招くので、ここは面倒でも「WordPress」の国際化に従って処理をしたいと思います。具体的には翻訳ファイル(ja.po)に以下のような翻訳を追加すれば良いと思います。「msgstr」が実際に変換される文字列となるのでここはお好みで変更して下さい。

#: ../searchform.php:14
msgctxt "placeholder"
msgid "Enter keyword&hellip;"
msgstr "キーワードを入力"

#: ../searchform.php:17
msgctxt "submit button"
msgid "Search"
msgstr "検索"

「msgfmt」などで「ja.po」をバイナリファイル「ja.mo」にコンパイルすれば「翻訳」は完了です。ブラウザのロケール設定を見て「日本語」であれば「ja.mo」のメッセージを使用します。未翻訳のメッセージはオリジナル言語である「英語」で表記されます。この方法を覚えればクールなテーマで日本語未対応でも自分で対応することが出来るので「テーマ選択」の幅がぐっと広がります。中身も大事ですが見た目も大切ですw

【最終更新日: 2019年5月20日】
カテゴリーIT閑話, 公開タグ, ,
閲覧数まとめ

閃きついでに総合計と週合計をフラグで制御する方式に変更してみた。これまではベタに関数をまるまるコピー  続きを読む

緊急事態宣言で外出自粛になり...
blank

せっかくのゴールデンウィークなのに、2年連続で緊急事態宣言下となり、外出自粛中。暇なので小ネタで遊ぶ  続きを読む

タイトルを抜粋する
blank

関連記事プラグインを使って、記事本文の下に「関連記事」を表示している。情報としては、タイトル、画像、  続きを読む

ElasticPress 3.5.6
blank

マイナーバージョンアップにも関わらず、検索スコアリングのパラメータが微調整された結果、期待する検索結  続きを読む

管理画面を制限する
blank

このサイトではネット上のさまざまな攻撃からの防御のため、Wordfenceプラグインの無料版を使用し  続きを読む

検索精度を高める
blank

検索ネタを連発するのはElasticsearchやElasticPressがバージョンアップした時の  続きを読む

スポンサーリンク

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください