ページ更新: 2009-11-10 (火) (4574日前)
(2006-05-09 作成, 2006-05-28 ページ名を変更) Tracを日本語環境で使うときの注意点と、 インタアクト株式会社(→../情報源#i-act)によるTracの日本語化(0.8.X)、あるいは日本語版(0.9.X)を使う手順について。 なお、Trac Project では Milestone 0.11 にてInternationalizationが行われるので、その際には日本語化の手順も変わると思われる。 目次 Tracの日本語化、日本語版 (2006-05-09) #注意:特に日本語版を使わなくても、Tracで日本語は使用できる。日本語版はメニューやオンラインマニュアルを日本語化したいときに使用する インタアクト株式会社が日本語化を行ったものを作成し、以下のサイトで提供している。
ファイル名は trac-X.X.X-ja-Y.zip で、X.X.Xは元にしたTracのバージョン、Yは日本語版独自のマイナーバージョン。 参照: [編集]Trac 0.9.X, 0.10.Xの日本語化(英語版を消して、日本語版を入れる) #(2006-10-20) インタアクト株式会社が配布するZIPにはTracの動作に必要なすべてのファイルが入っている。 インタアクト株式会社--業務内容--公開資料の「trac-0.9-ja 以降の特記事項」によると:
よって、日本語化の手順は:
Trac 0.8.Xの日本語化(英語版を入れてから、templateとwiki-defaultを日本語版に入れ替える) #(2006-05-09) 〜2005-06-19 Trac 0.8.4 までのバージョンの日本語化手順。 インタアクト株式会社が配布するZIPにはTracのtemplates, wiki-defaultのみが入っている。 インタアクト株式会社--業務内容--公開資料の「trac-0.8.x-ja 以前の特記事項」によると:
よって、日本語化の手順は:
リポジトリ内のファイルの日本語表示 (2006-06-22) #
Python 2.3.X 以下ではJapaneseCodecsが必要、Python 2.4以後は不要 #Python 2.3を使用しているとき、Python 2.3用の JapaneseCodecs が必要。(Python 2.4以後は標準添付)
Python 2.4以後の場合、CJKCodecs (中国語、日本語、韓国語のコーデック)が標準で含まれている。 2006-11-05
を利用すると、Windowsの機種依存文字が使えると思われる。試してないが。 [編集]Subversionリポジトリの文字コード #(2010-12-15 修正) Subversionリポジトリの文字コードを指定しておく。 なお、BOM つきのUnicodeであれば、文字コードを自動判別してくれるので、指定しなくても動作する。 でも、BOM をつけられないファイル(OSがファイル先頭の「#!」を解釈するもの。シェルスクリプトなど)については、 BOMをつけない代わりに以下の手段で文字コードを指定するか、文字コードを別途自動判別するようTracを改造する必要がある。 [編集]1種類の文字コードを使用して言える場合 #リポジトリ内で同一の文字コードを使用しているのであれば、 trac.iniでdefault_charsetを設定するとよい。 Python 2.3.Xを使用していて、別途JapaneseCodecsをインストールしているのであれば、文字コードの名称は以下のページに書かれているものを使う:
Python 2.4.X以後で、Python本体に付属しているCJKCodecsを使うのであれば、文字コードの名称は以下のページに書かれているものを使う:
複数の文字コードが混在している場合 #リポジトリの個々のファイルごとに文字コードが異なるのであれば、 Subversionリポジトリ側の該当ファイルへのプロパティ設定する。 (svn:mime-typeを例えば"text/plain; charset=shift_jis"にする。設定は svn propset を使い、svn commitした時点で有効になる。) あるいは、Trac を改造して、自動判別 させる。 自動プロパティ(auto-props)では設定できないかも。ためしていないが。 なぜなら、自動プロパティの書式は「file-name-pattern = propname[=value][;propname[=value]...]」のように各プロパティを「;」で区切るので。 「svn:mime-type=text/plain; charset=shift_jis」は「svn:mime-type=text/plain」と「charset=shift_jis」の2つのプロパティと見なされるかも。 でも1つのファイルに対して「file-name-pattern」が複数マッチするようなので(Subversion解説書,p.238〜239)、もしかすると使えるかもしれない‥‥。 参照:
Subversionリポジトリの文字コードを自動判別 #Tracの設定 (trac.ini)やSubversionのプロパティを設定する代わりに、 Trac自体を改造して、文字コードの自動判別機能をつける方法もある。 1. 鷹の島 - 2005-11-26 Trac で遊んでみたよ その1 - 日本語 2. ヤマロぶろぐ - 2007-02-20 Tracでファイルの文字コードを自動判定 なお、私自身は 2. を Trac 0.10.4-ja-1 に適用して使っている。「CHARDET_MAX_SAMPLE」は4000に変更している。 対象となるリポジトリにはcp932とUTF-8の2種類が混在している。 [編集]マイルストーン完了期限設定時のエラー回避 (2006-07-26, 2009-11-10) #TracJa - Trac のバグ より引用:
回避策1: 対策済みの Trac-ja を使う。 回避策2: 日付の入力方法を工夫
回避策3: 環境変数 LC_TIME を変更 (LC_ALL や LANGでもよいが、影響範囲が広くなる)
回避策4: tracにパッチを当て、trac.ini で書式を設定する
回避策5: 将来対策される予定なので、それまで待つ。 参照:
Tracリンクに日本語が含まれる場合 (2006-08-23) #(この項、作成中) Tracリンクとは(TracLinks) チケット: #1 or ticket:1 レポート: {1} or report:1 チェンジセット: r1, [1] or changeset:1 コミットログ: r1:3, [1:3] or log:#1:3 Wiki ページ: CamelCase or wiki:CamelCase Wiki ページと見出し: CamelCase#sectionName or wiki:CamelCase#secitionName マイルストーン: milestone:1.0 添付ファイル: attachment:ticket:944:attachment.1073.diff ファイル: source:trunk/COPYING あるリビジョンのファイル: source:/trunk/COPYING#200 Wikiページ名を日本語にする
見出しを日本語にする
マイルストーン名称を日本語にする
添付ファイル名が日本語の時
Subversionリポジトリ内のファイル名が日本語の時
Subversionリポジトリ内のファイル名が日本語の時(リビジョン指定)
番外編: Pythonのデフォルトエンコーディングを変更した環境でちゃんと動作するプラグインを、他の環境に持って行くとUnicodeのエラーが出る (2008-11-03) #UnicodeDecodeError - PythonInfo Wikiなどのエラーが出る場合について。 sitecustomize.pyについては日本語文字列コード問題まとめを参照。 例えば、**/Lib/site-packages/site-customize.pyを新規作成して、次の内容を入力すると、PythonのデフォルトエンコーディングをUTF-8に変更できる。 import sys sys.setdefaultencoding('utf-8') この場合、デフォルトの文字列はutf-8とみなされる。 ここでは話を単純にするために、*.pyのエンコーディングがUTF-8であり(ファイルの先頭でencoding: utf-8と記載されていて、さらにファイルの内容のもutf-8)、asciiで表現できない文字列を普通の文字列("〜"や'〜'や"""〜"""など)で記載した場合、
Windows XP Professional SP3 + Python 2.5.2 C:\> python -V Python 2.5.2 C:\> python -c "import sys; print sys.getdefaultencoding()" ascii Windows XP Professional SP3 + Python 2.6 C:\> c:\Python26\python -V Python 2.6 C:\> c:\Python26\python -c "import sys; print sys.getdefaultencoding()" ascii Debian 4.0: $ cat /etc/debian_version 4.0 $ python -V Python 2.4.4 $ python -c 'import sys; print sys.getdefaultencoding()' ascii C:\> ver Microsoft Windows XP [Version 5.1.2600] なお、TracLightningでは、site-customize.pyでデフォルトエンコーディングをutf-8に変更している(2.0,9で確認)。 このため、Trac Lightningのみで動作を確認したプラグインを他の環境に持ち込むと、エラーを発生することがある。 |