検索結果画面の日本語を変更する
Movable Type の検索結果画面で表示される日本語を変更するカスタマイズです。 左のスクリーンショットは公開テンプレートを例に「サイトを検索:」という文字列を「検索文字列を入力してください:」に変更した完成例ですが、デフォルトテンプレートでも同様の変更が可能です。 |
1.概要
Movable Type 3.2 のデフォルトテンプレートや公開テンプレートの検索結果画面では日本語が表示されるようになておりますが、そのテンプレートである
- search_templates/default.tmpl
には表示する日本語は含まれていません。またこのテンプレートに直接日本語を記述して検索を実行すると、「??????????」という文字しか表示されません。
検索結果画面で日本語を表示させるには MT_TRANS タグを使用します。まずこのタグを利用した日本語表示の仕組みを説明します。
2.日本語が表示される仕組み
例えば、デフォルトテンプレートで表示される検索結果画面の「サイトを検索:」という文字は default.tmpl にある青色部分の MT_TRANS タグが該当します。
:
<form method="post" action="<$MTCGIPath$><$MTSearchScript$>">
<h3><MT_TRANS phrase="Search this site:"></h3>
:
Movable Type のプログラムは、この MT_TRANS タグ
<MT_TRANS phrase="Search this site:">
に記述された phrase 属性の値 "Search this site:" と同じ文字列を、
- lib/MT/L10N/ja.pm
から検索します。
このファイル ja.pm の中には、"Search this site:" にマッチする文字列(青色部分)が含まれた行
:
'Search Results from' => '検索結果',
'Search this blog:' => 'ブログを検索: ',
'Search this site:' => 'サイトを検索: ',
'Search:' => '検索: ',
'Search: new comment search' => 'コメントの検索',
:
がありますので、そこから右側に書かれた文字列「検索結果(赤色部分)」を取得して検索結果画面に表示します。
3.日本語を変更する
スクリーンショットのように「サイトを検索」という文字列を「検索文字列を入力してください」に変更したい場合、ja.pm にある下記の行
'Search this site:' => 'サイトを検索: ',
を
'Search this site:' => '検索文字列を入力してください: ',
にすればOKです。
4.日本語を新しく挿入する
この phrase 属性の値はご自身で新しく作ることができます。テンプレートに新しい日本語を挿入したい場合、表示させたい位置に、
<MT_TRANS phrase="hogehoge">
を記述します。そして日本語変換用ファイル ja.pm に
'hogehoge' => 'ほげほげ',
を追加します。
5.注意事項
ja.pm へ新しく行を追加場合、追加位置は概ねどこでも大丈夫ですが、下記に示す部分に挿入してください。
## The following is the translation table.
%Lexicon = (
:
(ここへ追加)
:
);
1;
既存の行は先頭にTAB文字が含まれていますが、新しく追加する行にTAB文字を含めなくても正常に動作します。
また phrase 属性の値については他に同じ文字列か存在しないか検索して調べてから追加しましょう。同じ文字列が存在する場合は後に書かれたものが有効になります。
6.マッチする行が存在しない場合
phrase 属性の値に該当する行が ja.pm に存在しない場合、phrase 属性値がそのまま表示されます。最初の例であれば「Search this site:」が表示されます。したがって phrase 属性値についてはそれなりに意味のある言葉(英単語)を付与するようにしましょう。
- Movable Type検索でURL改ざんによるブログ検索をできないようにする方法
- Movable Typeの検索オプション徹底解説
- Movable Type 5.1の検索で「blog_idパラメータが不正です。」となる不具合の対処
- Movable Type 5.1の検索で検索結果テンプレートを指定する方法
- Movabel Type の検索結果フィードを利用する
- Movable Type検索結果のブログ記事タイトルからアーカイブページへリンクする方法
- Movable Type で複数ブログを検索する
- タグ検索を絞り込む(その2:カスタマイズ)
- タグ検索を絞り込む(その1)
- Movable Type 検索の全角スペースを半角スペースと同じ振る舞いにする(MT4版)
- Movable Type 4.2 検索結果ページのカスタマイズ:ページナビゲーションをプルダウンメニューにする
- Movable Type 4.2 検索結果ページのカスタマイズ:ナビゲーションを検索結果の上下に表示する
- Movable Type 4.2 検索結果ページのカスタマイズ:検索結果が1ページだけのときに「1」という表示をなくす
- Movable Type 4.2 検索結果ページのカスタマイズ:検索結果の見出しに(現在のページ/総ページ数)を表示する
- Movable Type 4.2 検索結果ページのカスタマイズ:1ページに表示する件数を変更する
≫ Movable Type 3.34 へのバージョンアップ覚え書き from 京ぽんでモブログ
先日、 Ver 3.17から Ver 3.34へバージョンアップした、ブログシ... [続きを読む]
MT3.2用のテンプレートを使わせていただいております。コメントが丁寧で、デザインを変えるのがとても楽でした。ありがとうございます。
検索結果画面のことで質問があります。MT_TRANSタグで表示される内容を、デフォルトの日本語表記(ja.pm)を英語表記にしたいのですが、参照するファイルの変更方法がわかりません。
ib/MT/L10N/en_us.pm
を探しにいくように設定すればいいと思うのですが、どのようにしたらよいのでしょうか?
>Kenさん
こんばんは。
ご質問の件ですが mt-config.cgi の
DefaultLanguage ja
を削除した形でインストールする方法しか見当たりません。使用言語はインストール時にDBに保存されるようで、インストール後にこの値を変更しても有効にならない模様です(間違ってたらすいません)。
他に方法がみつかりましたらエントリーします。
以上です。
それではよろしくお願い致します。
>yujiroさん
コメントありがとうございます。
インストール後に変更しても、その内容が反映されないこともあるのですね。
mt-configで設定となると、検索結果以外にも適用されそうなので、何かいいやり方がないか、もう少しもがいてみます。
ありがとうございました。また何か情報がありましたら、よろしくお願いいたします。