Next: Customizing less, Previous: The --style option, Up: Colorizing [Contents][Index]
端末出力とHTML出力で、同じPOファイル用スタイルを使用できます。POファイル用のスタイルはCSS(Cascading Style Sheet)の書式で記述します。CSSの正式な定義については、http://www.w3.org/TR/css2/cover.htmlを参照してください。CSSについての説明を含んだ、HTML記述のチュートリアルも数多く存在します。
HTML出力の場合、スタイルファイルはHTML出力中に埋め込まれます。テキスト出力の場合、スタイルファイルはmsgcatプログラムにより逐次解釈されます。これは@importに関連するファイル名が指定されていて、そのファイル名が以下のような場合、特に意味をもちます:
@importを含む、関係のあるスタイルシート(実際にこのようなケースでは、libcrocoの制限により@importはまだサポートされていません)。
CSSルールはselectorとdeclarationにより構築されます。declarationにはグラフィカルなプロパティーを指定し、selectorにはそれをいつ適用するかを指定します。
POファイル用に、以下の簡単なselectorがサポートされています("CSS classes"を基本とします。詳細はCSS2 specのsection 5.8.3を参照してください)。
.headerPOファイルのヘッダーエントリーにマッチします。
.translated翻訳されたメッセージにマッチします。
.untranslated未翻訳のメッセージにマッチします(例: 翻訳が空のメッセージ)。
.fuzzyfuzzyメッセージにマッチします(例: 翻訳者のレビューが必要な翻訳をともなうメッセージ)。
.obsolete陳腐化したメッセージにマッチします(例: 現在のPOTファイルでは必要とされない翻訳済みのメッセージ)。
white-space # translator-comments #. extracted-comments #: reference… #, flag… #| msgid previous-untranslated-string msgid untranslated-string msgstr translated-string
.commentすべてのコメントにマッチします(翻訳者コメント、抽出されたコメント、ソースファイルへの参照コメント、フラグコメント、以前のメッセージであることを示すコメント、同様にすべての廃止されたコメント)。
.translator-comment翻訳者のコメントにマッチします。
.extracted-comment抽出されたコメントにマッチします(例: 翻訳者への注意を換気するためにプログラマーにより記述されたコメント)。
.reference-commentソースファイルへの参照コメントにマッチします(行全体)。
.referenceソースファイルへの参照コメント行中の、特定のソースファイルへの参照にマッチします。
.flag-commentフラグコメントにマッチします(行全体)。
.flagフラグコメント行の中の、特定のフラグにマッチします。
.fuzzy-flagコメント行中の‘fuzzy’フラグにマッチします。
.previous-comment以前の未翻訳文字列に含まれるコメントにマッチします(行全体)。
.previous区切り文字、結びつけられたキーワード(msgidなど)、それらの文字列間の空白を含んだ、以前の未翻訳文字列にマッチします。
.msgid区切り文字、結びつけられたキーワード(msgidなど)、それらの文字列間の空白を含んだ、未翻訳文字列にマッチします。
.msgstr区切り文字、結びつけられたキーワード(msgstrなど)、それらの文字列間の空白を含んだ、翻訳済みの文字列にマッチします。
.keywordキーワード(msgid、msgstrなど)にマッチします。
.string区切り文字(2重引用符)を含む文字列にマッチします。
.text文字列の内容全体にマッチします(区切り文字は除く例: 2重引用符)。
.escape-sequence(バックスラッシュで始まる)エスケープシーケンスにマッチします。
.format-directive書式指定文字列にマッチします(多くの言語では‘%’、java-formatとcsharp-formatでは‘{’、lisp-formatとscheme-formatでは‘~’、sh-formatでは‘$’で開始されます)。
.invalid-format-directive無効な書式指定文字列にマッチします。
.added未翻訳文字列中で、以前の未翻訳文字列には無かった文字列にマッチします(このリリースではまだ実装されていません)。
.changed未翻訳文字列、または以前の未翻訳文字列中で、変更または置き換えられた文字列にマッチします(このリリースではまだ実装されていません)。
.removed以前の未翻訳文字列中で、現在の未翻訳文字列には無い文字列にマッチします(このリリースではまだ実装されていません)。
これらのselectorは、以下の例のように階層的なselectorとして組み合わせることができます。
.msgstr .invalid-format-directive { color: red; }
上記の例では、翻訳文字列中の無効な書式指定を強調表示しています。
テキストモードでは、pseudo-classes(CSS2 spec, section 5.11)とpseudo-elements(CSS2 spec, section 5.12)はサポートされません。
HTMLモードでの宣言には制限はありません。ブラウザーがサポートする任意のgraphical attributeがサポートされます。
テキストモードでの宣言は以下のプロパティーに制限され、他のプロパティーは暗黙に無視されます。
color (CSS2 spec, section 14.1)background-color (CSS2 spec, section 14.2.1)これらのプロパティーはサポートされます。色数はterminalの能力に適合されます。ほとんどのterminalのサポートは8色であることに注意してください。
font-weight (CSS2 spec, section 15.2.3)このプロパティーはサポートされますが、ほとんどのterminalはnormalとboldの2種類のweightしか描画できません。600以上の値を指定したときはboldとして描画されます。
font-style (CSS2 spec, section 15.2.3)このプロパティーはサポートされます。italicとobliqueは、同じ方法で描画されます。
text-decoration (CSS2 spec, section 16.3.1)このプロパティーはサポートされます。値はnoneとunderlineに制限されます。