管理画面の日本語をブログごとに変えるプラグイン

SuperSortプラグインに対して、「管理画面の日本語をブログごとに切り替えたい」という要望を受けました。
例えば、あるブログでは「記事」を「商品」に変える、といったことを行いたいようです。

Movable Type本体の日本語は、アルファサード株式会社様が公開している「AltL10N」というプラグインで、ブログごとに切り替えることができます。
しかし、プラグインが出力する日本語は、AltL10Nプラグインでは切り替えることができません。

そこで、管理画面の日本語を、汎用的に変えることができるプラグインを作りました。
プラグインが出力する日本語だけでなく、Movable Type本体の日本語も変えることができます。
また、日本語以外の言語を変えることも可能です。

1.インストール

プラグインは以下からダウンロードします。

OverrideL10N_1_00.zip

ダウンロードしたZipファイルを解凍すると、「plugins」というディレクトリができます。
このディレクトリを、Movable Typeのインストール先ディレクトリにアップロードします。

2.設定のページを開く

システムまたはブログ(ウェブサイト)の管理画面で、「ツール」→「プラグイン」メニューを選び、プラグインの設定のページを開きます。
そして、OverrideL10Nプラグインの設定の箇所で、変換用辞書を入力します。
各設定画面の入力欄と、変換の対象となる部分の対応は、以下の表のとおりです。

入力欄変換対象
システムの「システム共通で上書きする単語」の欄システム・ウェブサイト・ブログ全ての管理画面
システムの「システム画面で上書きする単語」の欄システムの管理画面のみ
ブログ(またはウェブサイト)の「上書きする単語」の欄各ブログ(またはウェブサイト)の管理画面のみ

なお、「システム共通で上書きする単語」の欄と、「システム画面で上書きする単語」「上書きする単語」の欄で、同じ単語に対して違う変換を指定することもできます。
その場合、「システム画面で上書きする単語」や「上書きする単語」の設定が優先になります。

3.変換用辞書の書き方

変換用辞書は、以下のようなYAML形式で入力します。

プラグインID:
  言語ID:
    変換元: '変換先'
    変換元: '変換先'
    ・・・
  言語ID:
    変換元: '変換先'
    変換元: '変換先'
    ・・・
プラグインID:
  ・・・

3-1.プラグインID

「プラグインID」には、個々のプラグインのIDを指定します。
プラグインのディレクトリにconfig.yamlファイルがある場合は、config.yamlファイルの「id:○○○」の行の「○○○」が、そのプラグインのIDです。
また、プラグインのディレクトリに□□□.plのようなファイルがある場合は、その.plファイルの「id => '○○○'」の行の「○○○」が、そのプラグインのIDです。
Movable Type本体の辞書を上書きしたい場合は、プラグインIDの箇所に「core」を指定します。

3-2.言語ID

「言語ID」には、管理画面で使う言語に応じて、以下の値を指定します。

言語言語ID
英語en_us
日本語ja
フランス語fr
ドイツ語de
スペイン語es
オランダ語nl

3-3.変換元と変換先

「変換元」には、各プラグイン(またはMovable Type本体)の辞書ファイルの中で、変換元の単語や文章を探して、それを指定します。
Movable Type本体の場合、Movable Typeのディレクトリ→「lib」ディレクトリ→「MT」ディレクトリ→「L10N」ディレクトリにあるja.pm等が辞書のファイルです。
また、プラグインの場合は、以下のどちらかが辞書のファイルです。

  • Movable Typeのディレクトリ→「plugins」ディレクトリ→個々のプラグインのディレクトリ→「lib」
    ディレクトリ→個々のプラグインのディレクトリ→「L10N」ディレクトリ→「ja.pm」等
  • Movable Typeのディレクトリ→「plugins」ディレクトリ→個々のプラグインのディレクトリ→「l10n_ja.yaml」等

.pmファイルの場合は、以下のような行が多数あります。
左半分の「○○○」が変換元です。

'○○○' => '□□□'

また、.yamlファイルの場合は、以下のような行が多数あります。
左半分の「○○○」が変換元です。

○○○: '□□□'

.pm/.yamlのいずれの場合も、ファイルの中で日本語(変換先)を検索して、それに対応する変換元を見つけると良いです。

4.例

例えば、IDが1番のブログのみ、管理画面の日本語を以下のように変えたいとします。

対象元の日本語変換後の日本語
Movable Type本体左メニューの「記事」商品
SuperSortプラグイン左メニューの「記事」にある「カテゴリと記事」商品と分類

左メニューの「記事」は、Movable Typeの辞書(ja.pm)の「Entries」の行によって変換されています。
また、左メニューの「記事」にある「カテゴリと記事」は、SuperSortプラグインの辞書の「Categories and entries」の行によって変換されます。
そこで、IDが1番のブログでプラグイン設定のページを開き、当プラグインの「上書きする単語」に以下のように入力します。

core:
  ja:
    Entries: '商品'
SuperSort:
  ja:
    Categories and entries: '分類と商品'

なお、管理画面に出てくる「記事」をすべて「商品」に置き換えるには、辞書ファイルの中で、「entry」や「entries」を含む行すべてを置き換える必要があります。