« Thingamablog 1.0.2-OKAMURA-20051031 | Main | Mac_Stripe-XHTML_Strict-ja の 2005年11月02日更新のお知らせ »
Thingamablog 1.0.2-OKAMURA-20051031 から更に修正を加えたスペシャルエディション Thingamablog 1.0.2-OKAMURA-20051102 をリリースします。
<$MonthLabel$> はこれまで "10月 2005" というように英語式の月の表記をそのまま日本語にしただけの文字列に置き換えられていて、しかもその書式を変更することができませんでした。
<$MonthLabel$> が Date 型のテンプレートタグになったことで例えば <$MonthLabel format="yyyy年MM月"$> とテンプレートに表記することで "2005年10月" に置き換えられるようになります。
[Weblog]-[Configure Weblog...] から開くブログの設定パネルの [Archiving] タブに、[Archive List format] というコンボボックスがあります。ここの値によって Archive ページのタイトル <$PageTitle$> や ArchiveList コンテナの中のアーカイブページへリンクする文字列 <$ArchiveName$> が決まってきます。しかし、ここには "yyyy年MM月" のような言語環境依存の項目はありませんでした。
<$ArchiveName$> は ArchiveList コンテナの開始タグ <ArchiveList> に format 属性を付けることで制御できますが、<$PageTitle$> は上記コンボボックスで選択できる書式に限定されています。このため "2005年10月" というような日本語の日付として明示的な書式を指定できませんでした。
ここに当該言語のメッセージプロパティによって独自の書式を指定できるようにしました。これにより "2005年10月" というような日本語の日付として明示的な書式を設定することができます。このプロパティの設定方法については後述します。
上記メッセージプロパティの日本語のデフォルトを作成し、[Archive Type] が [Monthly] のときには "yyyy年MM月"、それ以外のときには "yyyy年MM月dd日 - yyyy年MM月dd日" という書式が選択可能にしてあります。
これにより全てのページにおいて日本語の日付として明示的な日時の表記が可能になります。
Thingamablog のアプリ自体をローカライズする際に作成/変更するメッセージプロパティファイルというものがあります。このファイルについては Thingamablog の FAQ ページ の「How can I translate Thingamablog to my native language?」という項目に記述されています。message.properties というファイルがデフォルトのファイルですが、message_言語記号.properties というファイルを追加するとその言語記号に応じた言語環境の用のメッセージの文字列を項目毎に定義できます。日本語の場合には message_ja.properties というファイルになります。
これらのファイルに設定可能な項目として次を追加しました。
それぞれについて説明していきます。
[Archive Type] が [Monthly] のときの書式を設定する項目です。日本語の場合に限って "yyyy年MM月" がデフォルトの値として設定されています。
使用する言語環境に対応するプロパティにこの項目が定義されていないときは、Thingamablog オリジナルの書式からしか選択できません。
[Archive Type] が [Monthly] のときの書式を期間の両端とするかどうかを設定する項目です。これの値が "true" のとき、そのときに限って TBArchivingPanel.RangeFormat.Monthly で設定した書式が、"-" (ハイフン) を用いて期間の書式として扱われます。
Thingamablog オリジナルの [Archive List format] に例えば "MMMM, dd yyyy - MMMM, dd yyyy" という選択肢があります。これは "MMMM, dd yyyy" という書式が期間として扱われているのです。
使用する言語環境に対応するプロパティにこの項目が定義されていないときやその値が大文字小文字も含めて "true" でないときは期間として扱われません。デフォルトでは日本語に対しても設定されていません。
[Archive Type] が [Weekly] または [Day Interval] のときの書式を設定する項目です。日本語の場合に限って "yyyy年MM月dd日" がデフォルトの値として設定されています。
使用する言語環境に対応するプロパティにこの項目が定義されていないときは、Thingamablog オリジナルの書式からしか選択できません。
[Archive Type] が [Weekly] または [Day Interval] のときの書式を期間の両端とするかどうかを設定する項目です。これの値が "true" のとき、そのときに限って TBArchivingPanel.RangeFormat.Weekly で設定した書式が、"-" (ハイフン) を用いて期間の書式として扱われます。
Thingamablog オリジナルの [Archive List format] に例えば "MMMM, dd yyyy - MMMM, dd yyyy" という選択肢があります。これは "MMMM, dd yyyy" という書式が期間として扱われているのです。
使用する言語環境に対応するプロパティにこの項目が定義されていないときやその値が大文字小文字も含めて "true" でないときは期間として扱われません。デフォルトでは日本語に対して "true" が設定してあります。
これらは新規のプロパティなので lib/lang.zip にカスタマイズしたものを使用していても影響ありません。
配布ファイルは以下の通りです。
配布ファイルの使い方を説明します。
もし Thingamablog 1.0.2 を起動しているのでしたらそれを終了させてください。
Thingamablog 1.0.2 をインストールしたディレクトリの thingamablog.jar を thingamablog.orig.jar とリネームします。
thingamablog.jar が生成されます。
解凍してできた thingamablog.jar を Thingamablog 1.0.2 をインストールしたディレクトリにコピーまたは移動してください。
以後、オリジナルと同じ手順で Thingamablog を起動すると、このスペシャルエディションが起動されます。
まず Thingamablog 1.0.2 のソースアーカイブをダウンロードします。そのアーカイブファイルは thingamablog-1.0.2-src.zip です。以後、このファイルをカレントディレクトリにダウンロードしたものとします。
カレントディレクトリにダウンロードした thingamablog-1.0.2-OKAMURA-20051102.patch.gz を置きます。
そしてシェルで次のようにしてください。
unzip thingamablog-1.0.2-src.zipこれでソースが展開されたディレクトリ thingamablog-1.0.2 にパッチが適用された状態になります。
パッチが適用されるとオリジナルにはないディレクトリ src/net/sf/thingamablog/i18n/ が作成されて、そこに message_ja.properties というファイルが作成されます。これが日本語のメッセージプロパティのデフォルトを定義しています。
このバージョンには次のバグがあることがわかっています。
追記: このバグは始めからのようです。
このため言語環境依存の書式を選択した場合は、ブログの設定を更新するときに毎回選択し直さなければなりません。