MTOSの最近のブログ記事

5/16(月)、コアサーバー(coreserver.jp)で最新高速サーバーへの移転メンテナンスが行われた結果、Movable Type 5で、ログインが出来なくなりました。

ログイン不可の症状は、たった一行表示のみ。

『Got an error: Unescaped left brace in regex is illegal here in regex; marked by <- HERE in m/{{ <- HERE support}}/?/』

仕方が無いので検索すると、

★本家Perl?のWebページ「perldiag - さまざまな Perl 診断メッセージ」(https://perldoc.jp/docs/perl/5.28.0/perldiag.pod)に解説が有りました。

Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/%s/

(F) 正規表現中で リテラルな "{" 文字 (U+007B LEFT CURLY BRACKET) にマッチングしたいときに 覚えておくべき単純な規則は、何らかの方法で それぞれのリテラルな実体をエスケープすることです。 一般的に一番簡単なのは、"\{" のように逆スラッシュを前置するか、 かっこでかこむ ("[{]") ことです。. パターン区切り文字も中かっこの場合、マッチングする右中かっこ ("}") も、パーサーの混乱を避けるためにエスケープするべきです; 例えば:

 qr{abc\{def\}ghi}

リテラルな "{" 文字にエスケープを強制することにより、 将来のリリースで様々な方法で Perl 言語を拡張できるようになります。 既存のコードを不必要に壊すことを避けるために、 拡張が "{" をリテラルとして使うことと競合しそうにない文脈では 制限は強制されません。


★CORESERVERの運営元 バリューサーバー【サーバーシステムの増強と移行について】のページには、対処法のQ&Aが有りました(https://www.value-server.com/info/brandnew2022.html)。

Q:Movable Typeで「Got an error: Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/{{ <-- HERE support}}/?/」が発生しました。

A:こちらのファイルを下記のように修正の上、正常に動作するかご確認下さい。 /virtual/アカウント名/public_html/ドメイン名/lib/MT/App/CMS.pm

4828行目
$css =~ s#{{support}}/?#$app->support_directory_url#ie;

$css =~ s#\{\{support}}/?#$app->support_directory_url#ie;

4830行目
$css =~ s#{{theme_static}}/?#$theme->static_file_url#ie;

$css =~ s#\{\{theme_static}}/?#$theme->static_file_url#ie;


ただ、何行目かは、それぞれお使いのMovable Typeのバージョンによって異なる様です。
<使用中のMTOS5は、4976行目と 4978行目>


★CORESERVER補足情報

・修正ファイルの場所
/public_html/設置したMTのディレクトリ名/lib/MT/App/CMS.pm

前回の「MTOS4.1英語版の日本語化 その2」、前々回の「MTOS4.1英語版の日本語化 その1」で、日本語化するための3ファイルの修正も終了しましたので、MTOS4.1をサーバーにインストールします。


・上記の日本語化を行っても、インストールの一番最初の画面は、次のように英語が表示されますが、

 それ以降のインストール表示画面は、日本語で表示されます。


・インストールの詳細は、「MovableType4.1のインストール」を参照して下さい。

 MTOS4.1の導入は、「MovableType4.1導入録 CORESERVER編」が参考になるかもしれません。

前回の「MTOS4.1英語版の日本語化 その1」で、日本語化するために修正した3ファイルの内容を確認します。


1.mt-check.cgiファイルの修正内容

60行目の"ja"の修正はOKですか?


2.MT.pmファイルの修正内容

917行目の"ja"の修正はOKですか?


962行目の"ja"の修正はOKですか?
963~966行目の"日本語サイトURL"の修正はOKですか?
968~972行目の"日本語関連設定"の修正はOKですか?


3.mt.phpファイルの修正内容

305行目の"ja"の修正はOKですか?

以上で、日本語化するために修正した3ファイルの内容確認は終了です。

・MovableTypeオープンソースのダウンロードサイトで、MTOS4.1(2008年2月20日現在)を入手します。

・入手した、「MTOS-4.1-en.zip」 を解凍します。
 ここでは解凍ソフトとして、日本で有名な「Lhaplus」を使用しています。

・解凍後、英語版パッケージを日本語化するために、

 (1)mt-check.cgi
 (2)libフォルダのMT.pm
 (3)phpフォルダのmt.php

 の3ファイルの内容を修正します。

 ここではテキスト・エディタとして、日本で有名な「秀丸」を使用します。


1.mt-check.cgiファイルを修正

 60行目に移動すると、次のような画面が表示されますので、

 言語の指定を日本語の「ja」に修正します。

 my $lang = 'en_US';
  ↓
 my $lang = 'ja';


2.MT.pmファイルを修正

 917行目に移動すると、次のような画面が表示されますので、

 言語の指定を日本語の「ja」に修正します。

 $mt->set_language('en_US');
  ↓
 $mt->set_language('ja');

 962行目に移動すると、次のような画面が表示されますので、

 ①言語の指定を日本語の「ja」に修正します。
 ②管理画面などで表示される英語情報を日本語(のURL)情報に変更します。
 ③言語情報を日本語関連情報に変更します。

 $defaults->{DefaultLanguage}{default} = 'en_US';
 $defaults->{NewsboxURL}{default} = 'http://www.sixapart.com/movabletype/news/mt4_news_widget.html';
 $defaults->{LearningNewsURL}{default} = 'http://learning.movabletype.org/newsbox.html';
 $defaults->{SupportURL}{default} = 'http://www.sixapart.com/movabletype/support/';
 $defaults->{NewsURL}{default} = 'http://www.sixapart.com/movabletype/news/';
 #$defaults->{HelpURL}{default} = '__HELP_URL__';
 $defaults->{DefaultTimezone}{default} = '0';
 $defaults->{MailEncoding}{default} = 'ISO-8859-1';
 $defaults->{ExportEncoding}{default} = '';
 $defaults->{LogExportEncoding}{default} = '';
 $defaults->{CategoryNameNodash}{default} = '0';
 $defaults->{PublishCharset}{default} = 'utf-8';
  ↓
 $defaults->{DefaultLanguage}{default} = 'ja';
 $defaults->{NewsboxURL}{default} = 'http://www.sixapart.jp/movabletype/news/newsbox.html';
 $defaults->{LearningNewsURL}{default} = 'http://www.movabletype.jp/newsbox.html';
 $defaults->{SupportURL}{default} = 'http://www.sixapart.jp/movabletype/support/';
 $defaults->{NewsURL}{default} = 'http://www.sixapart.jp/movabletype/';
 #$defaults->{HelpURL}{default} = '__HELP_URL__';
 $defaults->{DefaultTimezone}{default} = '9';
 $defaults->{MailEncoding}{default} = 'ISO-2022-JP';
 $defaults->{ExportEncoding}{default} = 'Shift_JIS';
 $defaults->{LogExportEncoding}{default} = 'Shift_JIS';
 $defaults->{CategoryNameNodash}{default} = '1';
 $defaults->{PublishCharset}{default} = 'utf-8';


3.mt.phpファイルを修正

 305行目に移動すると、次のような画面が表示されますので、

 言語の指定を日本語の「ja」に修正します。

 $cfg['defaultlanguage'] = 'en_US';
  ↓
 $cfg['defaultlanguage'] = 'ja';


以上で、英語版パッケージを日本語化する修正作業は終わりです。

MovableType Open Source4.1のダウンロードサイトで、(安定版を)ダウンロード出来るのは、「MTOS-4.1-en.zip」の英語版だけです。


Six Apart社の技術情報によれば、

 「Movable Type はソフトウェア自体が完全に国際化されていて、ソースコードも一つのブランチで管理されています。ただ、実際にインストールして利用する際には、自分の国の言語がデフォルトで選択されているほうが便利なので、コンパイルオプションとして、デフォルトの言語設定を選べるようになっています。」

ということらしいので、MTOS4.1の日本語版は存在しないようです。


日本のオープンソース・プロジェクトのサイトでは、

 ・「最新のソースコード」をダウンロードしてソースコードをコンパイルする際にオプション指定をして、デフォルトで日本語を使用する設定や、

 ・「MTOSをWindows環境で利用する」のリンク先のページで、やはりソースコードをコンパイルする際にオプション指定をして、デフォルトで日本語を使用する設定

が説明されています。

然しながら、いずれも、SVN(Subversion)クライアントが必要であったり、Linux(Unix)やPerl、ビルドするためのツールが必要であったりと、MTOS4.1をブログツールとして利用したい人にとっては、ちょっと敷居が高いかもしれません。


ローカライズ日本語版を作成する参考サイトとして、

Ogawa::Memoranda : MTOS-4.1-jaパッケージの作り方

小粋空間 : MTOSリリースと日本語化手順

などがあります。

2007年12月、MovableType4のオープンソース化が発表され、
2008年2月18日現在、MTOS4.1(MovableType Open Source4.1)がダウンロード可能です。

Six Apart社のオープンソース化に対する大英断と、それを支えるオープンソースコミュニティーの皆さんの努力の素晴らしい結晶に感謝致します。


関連リンク:

 ・MTOS: Movable Type オープンソース・プロジェクト

 ・MTOS のダウンロード

 ・MTOS を Windows 環境で利用する


ただ、気になるというか残念な点は、ダウンロードできるパッケージが未だに英語版のみということです。

勿論、インストールの過程で使用言語に日本語を選択すれば、日本語でブログを作成するのに然程困らないとは思いますが、日本語版パッケージがダウンロード出来れば、結構なことこの上ないと感じられます。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちMTOSカテゴリに属しているものが含まれています。

前のカテゴリはMT(OS)4.2です。

次のカテゴリはPC-Talkerです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

MTOS: 2022年5月: 月別アーカイブ

ウェブページ

お気に入りリンク

NOP法人 アジアチャイルドサポート 最も大切なボランティアは、自分自身が一生懸命に生きること