[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: samba-doc-ja パッケージ
小林です。
From: TAKAHASHI Motonobu <monyo@xxxxxxxxx>
Subject: samba-doc-ja パッケージ
Date: Sun, 7 Oct 2007 01:24:22 +0900
> ただ、現在の Samba のドキュメントは XML 形式から docbook を用いて
> manpage 形式に変換しています。その段階で
>
> http://wiki.samba.gr.jp/mediawiki/index.php/Samba_3.0_%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E7%94%9F%E6%88%90
>
> の「現在の注意点」に記載したように問題点が発生している状態です。
これですね。
# 大した量でもないので、問題点を直接ここに書いてくださると、
# あとで読んだ人がフォローしやすい情報になると思うので……。 ;-)
* デフォルト値、設定例、といった文言は、xslt/expand-smbconfdoc.xsl を直接編集しています。
* Note や Warning といった文字列を日本語化する方法が確認できていません。
* デフォルトでは、日本語文字列が、すべて実体参照(&#xxx形式)になってしまいますので、HTML はまだしも、manpage 形式では使い物になりません。仕方ないので、以下のような PHP スクリプトで変換掛けてます。
> 若干場違いな気がしますが、xslt や docbook に詳しい方がいらっしゃったら、
> うまく日本語を処理できる方法を教えていただけると助かります。
Aptitude の日本語ドキュメント[1]生成に po4a と DocBook を使用していま
す。まだバイナリパッケージとしては提供されていませんが、aptitude ソー
スパッケージには日本語訳が入っているので、apt-get source aptitude でソー
スツリーを取得して doc/ 以下のビルド方法を読んでみてください。添付のよ
うなファイルで回避しているのが分かると思います。
なお、DocBook は互換性のない変更が次から次へと入るので「すべてのバージョ
ンできちんとビルドできること」は保証できず、ぼく自身 etch リリースの直
前にも manpage の出力について苦労した覚えがあります[2]。とりあえず上で
問題とされているような点については、docbook-xsl のソースコードを読んで
必要な設定をオーバーライドするようにしてクリアした、というだけで、恒久
的な解決方法ではないことに御注意ください。
[1] http://dolphin.c.u-tokyo.ac.jp/~nori1/aptitude-ja/
[2] http://dolphin.c.u-tokyo.ac.jp/~nori1/w/?cmd=view;name=Log200611 あたり?
--
|: Noritada KOBAYASHI
|: Dept. of General Systems Studies,
|: Graduate School of Arts and Sciences, Univ. of Tokyo
|: E-mail: nori1@xxxxxxxxxxxxxxxxxxxxxxx (preferable)
|: nori@xxxxxxxxxxxxxxxxxxx
|: Key fingerprint = AB26 9533 81DA 997B 3C06 4380 19BB ADA0 695C 9F53
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="../aptitude-man.xsl"/>
<!-- override settings in
/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl. -->
<xsl:param name="man.output.encoding" select="'euc-jp'"/>
<xsl:output method="text"
encoding="euc-jp"
indent="no"/>
<!-- override templates in
/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl. -->
<xsl:template match="refnamediv">
<xsl:text>.SH 名前 </xsl:text>
<xsl:for-each select="refname">
<xsl:if test="position()>1">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:value-of select="."/>
</xsl:for-each>
<xsl:text> \- </xsl:text>
<xsl:value-of select="normalize-space (refpurpose)"/>
</xsl:template>
<xsl:template match="refsynopsisdiv">
<xsl:text> .SH "書式" </xsl:text>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="note">
<xsl:text> .RS .Sh "注意</xsl:text>
<xsl:if test="title">
<xsl:text>: </xsl:text>
<xsl:value-of select="title[1]"/>
</xsl:if>
<xsl:text>" </xsl:text>
<xsl:apply-templates/>
<xsl:text> .RE </xsl:text>
</xsl:template>
<xsl:template match="articleinfo|bookinfo|refentryinfo" mode="authorsect">
<xsl:text>.SH 著者</xsl:text>
<xsl:if test="count(.//author)>1">
<xsl:text>S</xsl:text>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:for-each select=".//author">
<xsl:if test="position() > 1">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:variable name="author">
<xsl:apply-templates select="."/>
</xsl:variable>
<xsl:value-of select="normalize-space($author)"/>
</xsl:for-each>
<xsl:text>. </xsl:text>
<xsl:if test=".//editor">
<xsl:text>.br Man page edited by </xsl:text>
<xsl:apply-templates select=".//editor"/>
<xsl:text>. </xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="../aptitude-html.xsl"/>
<xsl:param name="chunker.output.encoding" select="'utf-8'"/>
<xsl:output method="text"
encoding="utf-8"
indent="no"/>
<xsl:param name="menuchoice.menu.separator" select="' → '"/>
</xsl:stylesheet>