マニュアル

多言語に対応したサイト内検索を作成する

MT:SiteSearchSnippet に新しく追加された「text_overrides」で JSON 形式のファイルを指定することで、文言の差し替えが行えます。

JSON ファイルのアップロード

以下の手順を行うことで、システム側で出力する文言を JSON ファイルで指定したものに変更できます。

  1. ファイルマネージャで JSON ファイルをアップロード、もしくは、テンプレートで JSON ファイルを作成する
    JSON ファイルの作成方法は、後述する「差し替え可能な文言の詳細」項目をご参照ください。
  2. サイト内検索を利用しているテンプレートに、以下のタグを追記する
    <MT:SiteSearchSnippet text_overrides = "https://example.com/foo.json">

カスタムスクリプト

カスタムスクリプトから検索フォームを設置する場合も、同様に文言の差し替えを行うことができます。

MTNetSearch("createApp", "mt-site-search-2", {
  queryKey: "mtssq2",
  textOverrides: "https://example.com/foo.json"
});

スクリプトで「textOverrides」を指定する場合は、文言を直接指定することもできます。

MTNetSearch("createApp", "mt-site-search-2", {
  queryKey: "mtssq2",
  textOverrides: {
    waitingReady: "検索情報を取得しています",
    searchResultAbout: '"%1"について',
    resultFound: "%1件見つかりました",
    resultNotFound: "%1に一致する検索結果はありませんでした",
    searchFieldTitle: "検索",
    searchButtonLabel: "検索",
    queryIsTooLong: "検索ワードが長すぎます",
    serviceTemporaryUnavailable: "検索は一時的に利用できない状態になっています",
    fatalError: "エラーが発生しました",
    originIsNotMatched: "異なるサイトURLです",
    offsetSizeIsTooBig: "offsetが大きすぎます",
    spellCorrectionSuggestion: '"%1"のキーワードで再検索を行いますか?',
    reSearchButton: "再検索する",
  },
});

差し替え可能な文言の詳細

文言について

現在、システム側で出力する文言には以下のものがあります。
「文言の差し替え」で文言を指定していない場合は、システムで用意した文言がそのまま出力されます。

システム側で出力する文言は、今後の機能追加によって追加される可能性があります。

{ "waitingReady": "検索情報を取得しています",
 "searchResultAbout": ""%1"について", 
"resultFound": "%1件見つかりました", 
"resultNotFound": "%1に一致する検索結果はありませんでした", 
"searchFieldTitle": "検索", 
"searchButtonLabel": "検索", 
"queryIsTooLong": "検索ワードが長すぎます", 
"serviceTemporaryUnavailable": "検索は一時的に利用できない状態になっています", 
"fatalError": "エラーが発生しました", 
"originIsNotMatched": "異なるサイトURLです", 
"offsetSizeIsTooBig": "offsetが大きすぎます", 
"spellCorrectionSuggestion": ""%1"のキーワードで再検索を行いますか?", 
"reSearchButton": "再検索する" }

各文言の詳細

各文言は、以下のようなケースで出力されます。

  • waitingReady : 検索情報を取得してインデックスを作成している間に表示されます。このメッセージはサイト内検索用で、サーチサービスでは出力されません。
  • searchResultAbout : 検索を実行した後に、検索したキーワードを表示するための文言です。下の resultFound と併せて表示されます。(例:「"検索キーワード"について」)
  • resultFound : 検索を実行した後に、検索のヒット件数を伝えるための文言です。(例:「30 件見つかりました」)
  • resultNotFound : 検索を実行した後に、検索結果が 0 件だった場合に表示される文言です(例:「検索キーワードに一致する検索結果はありませんでした」)
  • searchFieldTitle : 検索フォームの検索フィールドの title 属性の値として利用します。(例:<input type="search" ... title ="ここの文言">)
  • searchButtonLabel : 検索フォームの検索ボタンのラベルとして利用します。(例:<button ... type="submit">ここの文言</button>)
  • queryIsTooLong : 検索キーワードが長すぎて検索できない場合のエラーメッセージです。(例:検索ワードが長すぎます)
  • serviceTemporaryUnavailable : 検索回数が超過した場合など、サーチサービスが一時的に利用できない状況になった場合に表示されます。(例:「検索は一時的に利用できない状態になっています」)
  • fatalError : 検索の実行などで予期せぬエラーが発生した場合などに表示されます。(例:「エラーが発生しました」)
  • originIsNotMatched : 「サイト URL」で設定したサイトと異なるサイトで検索フォームを利用した場合のエラーメッセージです。(例:「異なるサイト URL です」)
  • offsetSizeIsTooBig : 検索実行時に指定された offset(ページ番号)が大きすぎる場合のエラーメッセージです。(例:offset が大きすぎます)
  • spellCorrectionSuggestion : 「スペル修正提案」を有効にしている場合に、検索結果に対してスペル修正提案がある場合に表示されます。(例:"修正したキーワード"のキーワードで再検索を行いますか?)このメッセージはサーチサービス用で、サイト内検索では出力されません。
  • reSearchButton : 「スペル修正提案」を有効にしている場合に、検索結果に対してスペル修正提案がある場合に表示される検索ボタンのラベルです。(例:「再検索する」)このメッセージはサーチサービス用で、サイト内検索では出力されません。

繁体中文の例

  • 「記事」カテゴリに7件の結果が見つかりました。

     

  • 「天気」に一致する検索結果は見つかりませんでした。

MovableType.net サイトサーチで利用する

本機能は、MovableType.net サイトサーチでも同様に利用することができます。
詳細は、多言語に対応したサイト内検索を作成するをご参照ください。