【Community Server】Community Server 2007 へのアップグレード計画
一念発起して,Community Server 2007 にアップグレードしようと思い立って,アップグレード計画を立てているわけです。
日本向けのサイトを構築している以上,日本語化は大前提になりますね。
そこで
□Community Server 2007 用の日本語リソースファイルを手に入れよう
ということになります。
現在の TLC.com のリソースファイルはちょこちょことカスタマイズして育てたものですが,あまりにもバージョンの違いが大きそうなので,泣きながら封印することに。
公式サイトのコミュニティには inomata さんが作成されたCS 2.1 用の Japanese Language Pack がアップロードされています。この 2.1 用のリソースファイルを改造させていただいて,TLC.com 用にカスタマイズすることにしました。
【TLC.com 用の CS 2007 日本語リソースファイル作成のためにやったこと】
- CS 2007 英語版のリソースファイルの XML インデントをすべて削除
- CS 2.1 用日本語 Language Pack の XML インデントをすべて削除
インデントを削除することで,単純な比較を行う際にブレる部分を大分抑えられます。(オリジナルのリソースファイルもかなりインデントが乱れている状態です。)
- CS 2.1 用リソースファイルで不足するキーの特定
2007 になって新たに追加されたキーが当然あるので,そのキーのリストを作成します。ここはファイルを比較しながら地道に移植を繰り返します。(移植したキーの一覧は別途)
移植する新しいキーは当然英語表記しかないため,逐次日本語化してしまいます。
- 英語リソースファイルと日本語リソースファイルのインデントをきれいに整える
趣味的な問題もあるんですが,インデントをそろえておくと,機械的な比較やシーケンシャルな解析を行う際に余計な手間をかけなくてすみます。
- Format 処理される ”{0},{1},{2}” などの書式指定項目の差異を解析します
なかなか見つけにくいのが,書式指定項目の数が変更になってエラーになるというパターンですね。今回もいくつか見つけました。
書式指定項目の数が増えたり,書式指定項目がそもそもなくなってしまったりというやつです。
リソースファイルをテキストファイルとして読み込んで,書式指定項目が存在する場合はその数を解析して,英語版と日本語版の結果を比較します。
ここまで修正してしまえば,ひとまずは動作します。あとはテストに回しておかしい箇所から修正していくというところです。
- ”Resources”,”ControlPanelResources” の変更は,機能変更からある程度変更箇所のあたりがつけられます
- ”emails” の html 書式の追加が今回はやっかいですね。。地道に修正するしかないのですが
作業中は
- XML の編集は Visual Studio (インデント解除・再インデントなどはかなり楽ちんです)
- ファイルの単純比較は Rekisa
- 書式指定項目の解析などは自前でツールを作成して対応
だいたい1日の作業で,ベースラインのリソースを作成できました。これから細かく日本語化改善する部分はありますが。。。
自分のサイト用の細かくチューニングしたリソースファイルを育ててみてはいかがでしょうか?