検索結果画面の日本語を変更する

検索結果画面の日本語を変更する

Posted at March 12,2006 2:05 AM
Tag:[Customize, MovableType, MT_TRANS, SearchResult]

検索結果画面の日本語を変更する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 属性値についてはそれなりに意味のある言葉(英単語)を付与するようにしましょう。

関連記事
zenback
人気エントリー
トラックバックURL


トラックバック

Movable Type 3.34 へのバージョンアップ覚え書き from 京ぽんでモブログ
 先日、 Ver 3.17から Ver 3.34へバージョンアップした、ブログシ... [続きを読む]

Tracked on March 11, 2007 3:45 PM
コメント

MT3.2用のテンプレートを使わせていただいております。コメントが丁寧で、デザインを変えるのがとても楽でした。ありがとうございます。

検索結果画面のことで質問があります。MT_TRANSタグで表示される内容を、デフォルトの日本語表記(ja.pm)を英語表記にしたいのですが、参照するファイルの変更方法がわかりません。

ib/MT/L10N/en_us.pm

を探しにいくように設定すればいいと思うのですが、どのようにしたらよいのでしょうか?

[1] Posted by Ken : April 12, 2006 6:52 PM

>Kenさん
こんばんは。
ご質問の件ですが mt-config.cgi の

DefaultLanguage ja

を削除した形でインストールする方法しか見当たりません。使用言語はインストール時にDBに保存されるようで、インストール後にこの値を変更しても有効にならない模様です(間違ってたらすいません)。
他に方法がみつかりましたらエントリーします。

以上です。
それではよろしくお願い致します。

[2] Posted by yujiro : April 13, 2006 11:57 PM

>yujiroさん

コメントありがとうございます。

インストール後に変更しても、その内容が反映されないこともあるのですね。
mt-configで設定となると、検索結果以外にも適用されそうなので、何かいいやり方がないか、もう少しもがいてみます。

ありがとうございました。また何か情報がありましたら、よろしくお願いいたします。

[3] Posted by Ken : April 14, 2006 2:18 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)