Changes between Version 1 and Version 2 of TracJa


Ignore:
Timestamp:
May 13, 2012, 9:15:45 PM (9 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracJa

    v1 v2  
    1 [[PageOutline]]
    2 = TracJa について =
    3 '''このファイルはオリジナル Trac の配布物には含まれません。'''
    4 
    5 Trac-Ja は Trac の日本語ローカライズバージョンです。
    6 
    7 ----
    8 == Trac の I18N 対応状況 ==
    9 Trac はオリジナル配布のままでも、日本語を使用することができます。
    10 
    11 Trac の内部では ([http://trac.edgewall.org/milestone/0.10 0.10] 以降) Python の
    12 'Unicode binary' 形式で文字列を処理し、 Web の表示は `UTF-8`で行われるため、
    13 (対応するフォントがあれば) どのような言語であっても取り扱うことができます。
    14 (See: TracUnicode)
    15 
    16 
    17 === [wiki:TracEnvironment Environment] ===
    18 [http://trac.edgewall.org/wiki/DatabaseBackend バックエンドのデータベース] には
    19 `UTF-8` でデータ (Wiki ページ, チケット) が保存されます。
    20 
    21 添付ファイルはデータベースに格納されません。 Environment の `attachments`
    22 ディレクトリ配下に、 URL エンコードされたファイル名で保存されます。
    23 [[BR]]→ ブラウザが URL エンコードに `UTF-8` を使用していない場合、ファイル名が
    24 文字化けするかもしれません。
    25 
    26 [wiki:TracIni trac.ini ファイル] 他、Environment に配置するファイル
    27 (サイトヘッダや [wiki:WikiMacros Wiki マクロ] など) は、 `UTF-8`
    28 で作成してください。 (`BOM (Byte Order Mark)` は付けない方が安全です)
    29 
    30 
    31 === [wiki:TracBrowser リポジトリブラウザ] ===
    32 今のところ Trac が正式に対応している
    33 [http://trac.edgewall.org/wiki/VersioningSystemBackend バックエンドのバージョン管理システム]
    34 は、 Subversion だけです。 ([http://trac-hacks.org Trac Hacks] などには、
    35 他のバージョン管理システムを使うためのプラグインがありますが、
    36 動作状況等未確認です。)
    37 
    38 バージョン管理下のファイルは、 MIME Viewer という機能で HTML 変換し、
    39 リポジトリブラウザに表示されます:
    40  1. `svn:mime-type` 属性もしくはファイルのサフィックスが、画像のように表示可能な
    41     バイナリファイル形式の場合は、 `<img>` 要素として表示されます。
    42  2. 表示できないバイナリファイル (`application/octet-stream` 等) の場合は、
    43     ダウンロードへのリンクが表示されます。
    44  3. バイナリファイルと判別されない場合、全てテキストファイルとして Web
    45     ページに表示されます。
    46    1. ファイルに設定された `svn:mime-type` 属性が `text/html; charset=utf-8`
    47       のように `charset=` を含む場合は、その文字コードでファイルを読み込みます。
    48    2. ファイルに `BOM (Byte Order Mark)` が付いていれば、適切な `UTF`
    49       でファイルを読み込みます。
    50    3. ファイル個別に判定できない場合は、 [wiki:TracIni trac.ini ファイル] の
    51       `[trac]` セクション `default_charset` オプションに指定された文字コードで
    52       ファイルを読み込みます。
    53       このコンフィグの初期値は `iso-8859-15` なので、日本語で Trac
    54       を使用する場合は、まず最初に変更する設定になると思います。
    55 
    56 Python 2.3 配布には、日本語だけで使用されている文字コード(`shift_jis`, `euc-jp`
    57 など) の codec が含まれていません。これらの文字コードを使用したい場合は、別途
    58 [http://www.python.jp/Zope/download/JapaneseCodecs JapaneseCodecs]
    59 をインストールする必要があります。
    60 Python 2.4 配布では、 !JapaneseCodecs が同梱されています。
    61 
    62 
    63 === 添付ファイル ===
    64 添付ファイル表示もバージョン管理下のファイルと同じく、 MIME Viewer が行います。
    65 
    66 ただし添付ファイルでは、 (`svn:mime-type` 属性のような) ファイル毎の文字コード
    67 指定はできないので、 `BOM` による `UTF` の判別ができなければ、 `default_charset`
    68 に指定した codec に固定されます。
    69 
    70 
    71 === [wiki:TracAdmin コンソール] ===
    72 [wiki:TracAdmin trac-admin コマンド] の入出力では、使用するコンソールの
    73 文字コードが自動判別されます。
    74 ([http://trac.edgewall.org/milestone/0.10 0.10] 以降)
    75 
    76 
    77 === [wiki:TracNotification メール通知] ===
    78 Trac が送信するメールは `UTF-8` が `Base64` か `quoted-printable` で 7bit-safe
    79 な形式にエンコードされています。MUA がこれらのエンコードに対応していない場合、
    80 文字化けする可能性があります。 (See: TracNotification)
    81 
    82 
    83 ----
    84 == Trac の L10N 対応状況 ==
    85 オリジナル配布ではユーザ入力以外の表示メッセージは全て英語です。
    86 これを日本語化した手順を記述します。
    87 
    88 
    89 === Web 画面のコンテンツ ===
    90 [wiki:TracJa#TracのI18N対応状況 前項] の通りです。
    91 日本語化作業で変更した点はありません。
    92 チケット属性について付記します。
    93 
    94 
    95 ==== チケット属性名 ====
    96 チケット属性の名前は、ほとんどの画面で日本語の属性名が表示されますが、
    97 レポートの検索結果画面は例外です。
    98 レポートの検索結果画面でのチケット属性の列名は、検索に使用した SQL
    99 の列名がそのまま表示されます。
    100 ですが SQL の SELECT 句で `AS` を挿入すれば、列名を日本語化することが出来ます。
    101 ただし `modified` や `description` など、特定の表示フォーマットに使用する列名
    102 (See TracReports) は変更するとフォーマットされません。
    103 
    104 
    105 ==== チケット属性の値 ====
    106 チケット属性の値は、データベースにそのまま保存されます。
    107 データベースには `UTF-8` であれば保存できるので、リストボックス形式の属性は
    108 [wiki:TracAdmin trac-admin コマンド] で日本語に変更可能です。
    109 たとえば分類のデフォルトは `defect`, `task`, `enhancement` ですが `不具合`,
    110 `タスク`, `機能追加` のように日本語に変更することができます。
    111 とは言え、プロジェクト毎に必要となる用語は異なるでしょうから、 Trac-Ja
    112 では翻訳対象としていません。
    113 
    114 例外は「ステータス (`Status`)」の値です。
    115 チケットの状態遷移が Python ソースにハードコードされているため、
    116 変更すると多くの箇所にパッチしなければなりませんし、
    117 今後の Trac リリースに対応できなくなるおそれがあります。
    118 
    119   [http://trac.edgewall.org/milestone/0.11 0.11] か
    120   [http://trac.edgewall.org/milestone/0.12 0.12] で、導入される予定の
    121   [http://trac.edgewall.org/wiki/WorkFlow Flexible/Extensible Ticket Workflow]
    122   では、日本語化できるようになる可能性があります。
    123 
    124 
    125 === Web 画面のテンプレート ===
    126 プレゼンテーション層の処理は、 `templates` ディレクトリ配下の !ClearSilver
    127 テンプレートに集約されているのですが、実際に表示される用語などが `trac`
    128 ディレクトリ配下の Python コード内にハードコードされているため、現時点では、
    129 ソースに直接パッチを行わないと翻訳できません。
    130 
    131 また [http://trac.edgewall.org/milestone/0.10 0.10] 以降、 Trac
    132 が内部処理に使用する文字コードが `UTF-8` から `Unicode binary` に変更されました。
    133 この変更によって、文字列の折り返しや切り落としが、
    134 多バイト文字の途中で行われないようになりましたが、
    135 Python コード内で非 `ASCII` を使用する場合、 `u'日本語文字列'` のように
    136 `Unicode binary` 文字列を使わないと動かない箇所があります。
    137 この制限は [wiki:WikiMacros Wiki マクロ] や [wiki:TracPlugins プラグイン]
    138 でも適用されますので、マクロやプラグインを作成したり、
    139 翻訳したりする場合には留意してください。
    140 
    141   [http://trac.edgewall.org/milestone/0.11 0.11] では、テンプレートエンジンが
    142   !ClearSilver から [http://genshi.edgewall.org/ Genshi] に乗せ換えられ、
    143   表示メッセージは完全に Python コード内に移動します。その上で、
    144   各言語でのメッセージが `gettext` 方式で切り替えられる構造に変更される予定です。
    145   ですので、今後の地域化は今までと全く違う形になりそうです。
    146 
    147 
    148 === Wiki ページ ===
    149 Wiki ページとして同梱されているオンラインマニュアルは、 `wiki-default`
    150 ディレクトリにあるファイルを翻訳すれば地域化することが出来ます。
    151 
    152   [http://trac.edgewall.org/milestone/0.11 0.11] での多言語化対応も、
    153   今のところ Wiki のマニュアルまでは及んでいません。
    154   Wiki の地域化は、まだまだ白紙というのが現状です。
    155 
    156 Trac-Ja から Wiki ページだけを使いたい場合:
    157  1. `trac-0.xx.x-ja-x.zip` を展開し
    158  2. `wiki-default/check_wiki.py` を削除した上で
    159  3. [wiki:TracAdmin trac-admin コマンド] で、 `wiki import` してください。
    160 
    161 
    162 ----
    163 == Trac のバグ ==
    164 trac-0.10 のオリジナル配布に存在するバグについて記載しておきます。
    165 
    166 
    167 === Trac-Ja で修正しているバグ ===
    168 日本語環境で Trac を使用するために必要な、最小限のパッチを行っています。
    169 
    170  * `LC_TIME` にマルチバイト文字が含まれるロケールを使用すると、
    171    タイムラインやマイルストーンでの日付入力がエラーになる。
    172    (See: [http://trac.edgewall.org/ticket/2182 #2182])[[BR]]
    173    [http://trac.edgewall.org/milestone/0.11 trac-0.11]
    174    ではタイムゾーンのハンドリングを含めた対応が予定されていますが、
    175    どのような形になるかは未定です。
    176    (See: [http://trac.edgewall.org/browser/sandbox/datetime datetime 開発ブランチ],
    177    [http://trac.edgewall.org/browser/sandbox/datetime-genshi datetime-genshi 開発ブランチ])
    178    [[BR]]日付が入力できないと実用上の問題が大きいので、デフォルトの日付書式を
    179    `%x %X` から `%Y/%m/%d %H:%M:%S` に変更しています。
    180  * [wiki:WikiMacros Wiki マクロ] のヘルプが `ascii`, `Unicodebinary`
    181    以外のエンコードの場合に `[[MacroList]]` で表示されない。[[BR]]
    182    マクロヘルプは基本的に class コメントから取得します。この class コメントを
    183    `Unicode binary` にすることで work arround になるのですが、
    184    [wiki:WikiMacros Wiki マクロ] は 3rd-party からも提供されているので、
    185    全てに適用するのは面倒です。マクロヘルプを表示する際に `utf-8` か
    186    `preferred encoding` から `Unicode bianry` に変換するように変更しています。
    187  * trac-0.10.1, trac-0.10.2 では、 Subversion リポジトリの
    188    内容表示に失敗することがあります。 (特に !ModPython 使用時)
    189    (See: [http://trac.edgewall.org/ticket/4132 #4132])[[BR]]
    190    Security Fix 直後であり trac-0.10 に戻すという運用対処が難しいことと、
    191    trac-0.10.1, trac-0.10.2 の安定性が低いことから、
    192    trac-0.10 に CSRF 脆弱性に対応する本家チェンジセット
    193    [http://trac.edgewall.org/changeset/4145 r4145],
    194    [http://trac.edgewall.org/changeset/4147 r4147],
    195    [http://trac.edgewall.org/changeset/4153 r4153],
    196    [http://trac.edgewall.org/changeset/4154 r4154],
    197    [http://trac.edgewall.org/changeset/4155 r4155],
    198    [http://trac.edgewall.org/changeset/4171 r4171],
    199    [http://trac.edgewall.org/changeset/4244 r4244],
    200    [http://trac.edgewall.org/changeset/4257 r4257] をマージしています。
    201 
    202 
    203 === 修正していないバグ ===
    204 これらのバグは、今後のオリジナルのリリースや、 Trac-Ja
    205 のリリースで解消されるかもしれませんが、現状では修正されていません。
    206 
    207  * `priority` を全て削除すると、ロードマップでの iCalendar
    208    出力にスタックトレースが含まれ、不正フォーマットになる。
    209  * 変数を使用するレポートで、例外が発生することがある。
    210    (See: [http://trac.edgewall.org/ticket/2773 #2773],
    211    [http://trac.edgewall.org/wiki/TracUpgrade TracUpgrade])[[BR]]
    212    [http://trac.edgewall.org/changeset/2941 "[2941]"] で一旦解消されましたが、
    213    [http://trac.edgewall.org/changeset/3300 "[3300]"] で上書かれています。
    214    [http://trac.edgewall.org/milestone/0.10.1 trac-0.10.1]
    215    以降では解消されるかもしれません。
    216  * 複数のバージョンを持つ Wiki ページで ''このバージョンを削除''
    217    ボタンをクリックすると、削除の警告メッセージに
    218    「このページには1つのバージョンしかありませんのでページを完全に削除します!」
    219    と出力されるが実際に削除されるのは、 ''このバージョン'' のみである。
    220    (See: [http://trac.edgewall.org/ticket/3928 #3928])
    221  * チケットのメール通知を有効にしている場合で、 [wiki:TracIni trac.ini ファイル]
    222    の `[notification]` セクション `always_notify_updater` オプションを `false`
    223    に設定している場合は、チケット登録時の通知メールが送信されない。
    224    (See: [http://trac.edgewall.org/ticket/3654 #3654])[[BR]]
    225    ([http://trac.edgewall.org/changeset/3808 "[3808]"] で
    226    [http://trac.edgewall.org/browser/branches/0.10-stable trac-0.10 保守ブランチ]
    227    に取り込まれたので、 [http://trac.edgewall.org/milestone/0.10.1 trac-0.10.1]
    228    で解消する見込みです。)
    229 
    230 
    231 ----
    232 == セキュリティ上の注意点 ==
    233 Trac を使用する上でのセキュリティ上の注意点です。
    234 
    235 
    236 === [wiki:WikiMacros Wiki マクロ] の導入 ===
    237 [wiki:WikiMacros Wiki マクロ] では、受け取った引数を表示に含める場合、
    238 `trac.util.escape()` を使用してサニタイズを行わないと脆弱性の原因になります。
    239 
    240 サニタイズの実施は各マクロで行う必要があります。
    241 Trac および Trac-Ja の配布に含まれるマクロではサニタイズが行われていますが、
    242 マクロを自作する場合や、
    243 [http://trac-hacks.org/ Trac Hacks] 等からマクロを導入する際には、
    244 各自で確認してから使用するようにしてください。
    245 
    246 
    247 === コメント Spam 対策 ===
    248 最近 Trac を標的にしたコメント Spam が発生しています。
    249 
    250 Public に公開する Trac では [wiki:TracPermissions パーミッション]
    251 を適切に設定したり、 [http://trac.edgewall.org/wiki/SpamFilter 本家 Wiki]
    252 を参考に [http://trac.edgewall.org/browser/sandbox/spam-filter SpamFilter]
    253 を導入するなど、対策を怠らないようにしてください。
    254 
    255 
    256 ----
    257 See also: TracTermsJa -- 対訳用語集
     1Move to `README.trac-ja`.