# Debian Developer's Reference (Japanese) # (C) Hideki Yamane , 2008-2011. # msgid "" msgstr "" "Project-Id-Version: developers-reference 3.4.7\n" "POT-Creation-Date: 2011-12-05 00:59+0900\n" "PO-Revision-Date: 2011-12-05 01:15+0900\n" "Last-Translator: Hideki Yamane \n" "Language-Team: Debian JP Project \n" "Language: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" # type: Content of: #. type: Content of: <chapter><title> #: best-pkging-practices.dbk:7 msgid "Best Packaging Practices" msgstr "パッケージ化のベストプラクティス" # type: Content of: <chapter><para> #. type: Content of: <chapter><para> #: best-pkging-practices.dbk:9 msgid "" "Debian's quality is largely due to the <ulink url=\"&url-debian-policy;" "\">Debian Policy</ulink>, which defines explicit baseline requirements which " "all Debian packages must fulfill. Yet there is also a shared history of " "experience which goes beyond the Debian Policy, an accumulation of years of " "experience in packaging. Many very talented people have created great " "tools, tools which help you, the Debian maintainer, create and maintain " "excellent packages." msgstr "" "Debian の品質は、全ての Debian パッケージが満たす必要がある基本的要求を明示的" "に規定する<ulink url=\"&url-debian-policy;\">Debian ポリシー</ulink>に大きく" "依存しています。そして、パッケージングでの長年の経験で溜め込まれた財産であ" "る、Debian ポリシーを越えて共有してきた経験の積み重ねというものもあります。多" "くの非常に優秀な人々が素晴らしいツールを作っており、このツールがあなた、つま" "り Debian のメンテナが素晴らしいパッケージを作り、維持していくのを手助けして" "くれます。" # type: Content of: <chapter><para> #. type: Content of: <chapter><para> #: best-pkging-practices.dbk:18 msgid "" "This chapter provides some best practices for Debian developers. All " "recommendations are merely that, and are not requirements or policy. These " "are just some subjective hints, advice and pointers collected from Debian " "developers. Feel free to pick and choose whatever works best for you." msgstr "" "この章では、Debian 開発者へのベストプラクティスをいくつか提供します。すべての" "勧めは単に勧めであり、要求事項やポリシーではありません。Debian 開発者らからの" "主観的なヒント、アドバイス、ポインタです。あなたにとって一番うまくいくやり方" "を、どうぞご自由に選んでください。" # type: Content of: <chapter><section><title> #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:24 msgid "Best practices for <filename>debian/rules</filename>" msgstr "<filename>debian/rules</filename> についてのベストプラクティス" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:26 msgid "" "The following recommendations apply to the <filename>debian/rules</filename> " "file. Since <filename>debian/rules</filename> controls the build process " "and selects the files which go into the package (directly or indirectly), " "it's usually the file maintainers spend the most time on." msgstr "" "以下の推奨事項は、<filename>debian/rules</filename> ファイルに適用されます。" "<filename>debian/rules</filename> は、ビルド作業を管理し、(直接にせよ、そうで" "ないにせよ) パッケージにどのファイルが入るかを選択します。大抵の場合、メンテ" "ナが最も時間を費やすファイルです。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:32 msgid "Helper scripts" msgstr "ヘルパースクリプト" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:34 msgid "" "The rationale for using helper scripts in <filename>debian/rules</filename> " "is that they let maintainers use and share common logic among many " "packages. Take for instance the question of installing menu entries: you " "need to put the file into <filename>/usr/share/menu</filename> (or " "<filename>/usr/lib/menu</filename> for executable binary menufiles, if this " "is needed), and add commands to the maintainer scripts to register and " "unregister the menu entries. Since this is a very common thing for packages " "to do, why should each maintainer rewrite all this on their own, sometimes " "with bugs? Also, supposing the menu directory changed, every package would " "have to be changed." msgstr "" "<filename>debian/rules</filename> でヘルパースクリプトを使う根拠は、多くの" "パッケージ間でメンテナらに共通のロジックを利用・共有させるようになるからで" "す。メニューエントリのインストールについての問いを例にとってみましょう: ファ" "イルを <filename>/usr/share/menu</filename> (必要であれば、実行形式のバイナリ" "のメニューファイルの場合 <filename>/usr/lib/menu</filename>) に置き、メンテナ" "スクリプトにメニューエントリを登録・解除するためのコマンドを追加する必要があ" "ります。これはパッケージが行う、非常に一般的なことです。なぜ個々のメンテナが" "これらのすべてを自分で書き直し、時にはバグを埋め込む必要があるでしょう? ま" "た、メニューディレクトリが変更された場合、すべてのパッケージを変更する必要が" "あります。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:45 msgid "" "Helper scripts take care of these issues. Assuming you comply with the " "conventions expected by the helper script, the helper takes care of all the " "details. Changes in policy can be made in the helper script; then packages " "just need to be rebuilt with the new version of the helper and no other " "changes." msgstr "" "ヘルパースクリプトがこれらの問題を引き受けてくれます。ヘルパースクリプトの期" "待するやり方に従っているならば、ヘルパースクリプトはすべての詳細について考慮" "をします。ポリシーの変更はヘルパースクリプト中で行えます; そして、パッケージ" "を新しいバージョンのヘルパースクリプトでリビルドする必要があるだけです。他に" "何の変更も必要ありません。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:52 msgid "" "<xref linkend=\"tools\"/> contains a couple of different helpers. The most " "common and best (in our opinion) helper system is <systemitem role=\"package" "\">debhelper</systemitem>. Previous helper systems, such as <systemitem " "role=\"package\">debmake</systemitem>, were monolithic: you couldn't pick " "and choose which part of the helper you found useful, but had to use the " "helper to do everything. <systemitem role=\"package\">debhelper</" "systemitem>, however, is a number of separate little <command>dh_*</command> " "programs. For instance, <command>dh_installman</command> installs and " "compresses man pages, <command>dh_installmenu</command> installs menu files, " "and so on. Thus, it offers enough flexibility to be able to use the little " "helper scripts, where useful, in conjunction with hand-crafted commands in " "<filename>debian/rules</filename>." msgstr "" "<xref linkend=\"tools\"/> には、複数の異なったヘルパーが含まれています。もっ" "とも一般的で (我々の意見では) ベストなヘルパーシステムは <systemitem role=" "\"package\">debhelper</systemitem> です。<systemitem role=\"package" "\">debmake</systemitem> のような、以前のヘルパーシステムはモノリシックでし" "た: 使えそうなヘルパーの一部を取り出して選ぶことはできず、何を行うにもヘル" "パーを使う必要がありました。ですが、<systemitem role=\"package\">debhelper</" "systemitem> は、いくつもの分割された小さな <command>dh_*</command> プログラム" "です。たとえば、<command>dh_installman</command> は man ページをインストール" "して圧縮し、<command>dh_installmenu</command> は menu ファイルをインストール" "するなどします。つまり、<filename>debian/rules</filename> 内で使える部分では" "小さなヘルパースクリプトを使い、手製のコマンドを使うといった十分な柔軟性を与" "えてくれます。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:66 msgid "" "You can get started with <systemitem role=\"package\">debhelper</systemitem> " "by reading <citerefentry> <refentrytitle>debhelper</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, and looking at the examples that " "come with the package. <command>dh_make</command>, from the <systemitem " "role=\"package\">dh-make</systemitem> package (see <xref linkend=\"dh-make\"/" ">), can be used to convert a vanilla source package to a <systemitem role=" "\"package\">debhelper</systemitem>ized package. This shortcut, though, " "should not convince you that you do not need to bother understanding the " "individual <command>dh_*</command> helpers. If you are going to use a " "helper, you do need to take the time to learn to use that helper, to learn " "its expectations and behavior." msgstr "" "<citerefentry> <refentrytitle>debhelper</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> を読んで、パッケージに付属している例を参照すれば、" "<systemitem role=\"package\">debhelper</systemitem> を使い始めることができま" "す。 <systemitem role=\"package\">dh-make</systemitem> パッケージ (<xref " "linkend=\"dh-make\"/> 参照) の <command>dh_make</command> は、素のソースパッ" "ケージを <systemitem role=\"package\">debhelper</systemitem>化されたパッケー" "ジに変換するのに利用できます。ですが、この近道では個々の <command>dh_*</" "command> ヘルパーをわざわざ理解する必要がないので、満足できないでしょう。ヘル" "パースクリプトを使おうとするのであれば、そのヘルパーを使うこと、つまり前提と" "動作を学ぶのに時間を割く必要があります。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:79 msgid "" "Some people feel that vanilla <filename>debian/rules</filename> files are " "better, since you don't have to learn the intricacies of any helper system. " "This decision is completely up to you. Use what works for you. Many " "examples of vanilla <filename>debian/rules</filename> files are available at " "<ulink url=\"&url-rules-files;\"></ulink>." msgstr "" "いかなるヘルパーシステムの複雑さも学ぶ必要がないので、素の <filename>debian/" "rules</filename> ファイルのほうが良いと考える人もいます。この判断は完全にあな" "た次第です。あなたに合っている方を選んでください。素の <filename>debian/" "rules</filename> ファイルの多くの例は <ulink url=\"&url-rules-files;\"></" "ulink> から入手できます。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:88 msgid "Separating your patches into multiple files" msgstr "パッチを複数のファイルに分離する" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:90 msgid "" "Big, complex packages may have many bugs that you need to deal with. If you " "correct a number of bugs directly in the source, and you're not careful, it " "can get hard to differentiate the various patches that you applied. It can " "get quite messy when you have to update the package to a new upstream " "version which integrates some of the fixes (but not all). You can't take " "the total set of diffs (e.g., from <filename>.diff.gz</filename>) and work " "out which patch sets to back out as a unit as bugs are fixed upstream." msgstr "" "巨大で複雑なパッケージには、対処が必要なたくさんのバグが含まれているかもしれ" "ません。直接ソース中で大量のバグを修正し、あまり注意を払っていなかった場合、" "適用した様々なパッチを識別するのは難しいことになるでしょう。(全てではなく) 幾" "つか修正を取り入れた新しい開発元のバージョンへパッケージを更新する必要が出た" "場合、とても悲惨なことになります。(例えば、<filename>.diff.gz</filename> か" "ら) diff をすべて適用することもできませんし、開発元で修正されたバグごとにどの" "パッチをバックアウトするようにすればよいのか分かりません。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:99 msgid "" "Fortunately, with the source format “3.0 (quilt)” it is now possible to keep " "patches separate without having to modify <filename>debian/rules</filename> " "to setup a patch system. Patches are stored in <filename>debian/patches/</" "filename> and when the source package is unpacked patches listed in " "<filename>debian/patches/series</filename> are automatically applied. As " "the name implies, patches can be managed with <command>quilt</command>." msgstr "" "幸いなことに、ソースフォーマット“3.0 (quilt)”では、パッチシステムを設定するた" "めに <filename>debian/rules</filename> を変更することなく、パッチを分割して保" "持できるようになっています。パッチは <filename>debian/patches/</filename> に" "保持され、ソースパッケージが展開されるときに <filename>debian/patches/" "series</filename> に記載されているパッチが自動的に適用されます。名前が指すよ" "うに、パッチは <command>quilt</command> で管理することができます。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:107 msgid "" "When using the older source “1.0”, it's also possible to separate patches " "but a dedicated patch system must be used: the patch files are shipped " "within the Debian patch file (<filename>.diff.gz</filename>), usually within " "the <filename>debian/</filename> directory. The only difference is that they " "aren't applied immediately by <command>dpkg-source</command>, but by the " "<literal>build</literal> rule of <filename>debian/rules</filename>, through " "a dependency on the <literal>patch</literal> rule. Conversely, they are " "reverted in the <literal>clean</literal> rule, through a dependency on the " "<literal>unpatch</literal> rule." msgstr "" "より古いソースフォーマット“1.0”を使っている場合でも、パッチを分割することは可" "能ですが、専用のパッチシステムを使う必要があります: パッチファイルは Debian " "パッチファイル (<filename>.diff.gz</filename>) 内に組み込まれ、通常 " "<filename>debian/</filename> ディレクトリ内にあります。違いは、すぐに " "<command>dpkg-source</command> では適用されないが、<filename>debian/rules</" "filename> の <literal>build</literal> ルールで <literal>patch</literal> ルー" "ルへの依存を通じて適用されることだけです。逆に言うと、これらのパッチは " "<literal>unpatch</literal> ルールへの依存を通じて <literal>clean</literal> " "ルールで外されます。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:119 msgid "" "<command>quilt</command> is the recommended tool for this. It does all of " "the above, and also allows to manage patch series. See the <systemitem role=" "\"package\">quilt</systemitem> package for more information." msgstr "" "<command>quilt</command> はこの作業にお勧めのツールです。上記の全てを行う上、" "パッチ一覧の管理も可能です。詳細な情報は <systemitem role=\"package\">quilt</" "systemitem> パッケージを参照してください。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:125 msgid "" "There are other tools to manage patches, like <command>dpatch</command>, and " "the patch system integrated with <systemitem role=\"package\">cdbs</" "systemitem>." msgstr "" "他にもパッチを管理するツールはあります。<command>dpatch</command> や、パッチ" "システムが統合されている <systemitem role=\"package\">cdbs</systemitem> など" "です。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:132 msgid "Multiple binary packages" msgstr "複数のバイナリパッケージ" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:134 msgid "" "A single source package will often build several binary packages, either to " "provide several flavors of the same software (e.g., the <systemitem role=" "\"package\">vim</systemitem> source package) or to make several small " "packages instead of a big one (e.g., so the user can install only the subset " "needed, and thus save some disk space)." msgstr "" "単一のソースパッケージはしばしば複数のバイナリパッケージを生成します。それ" "は、同じソフトウェアで複数のフレーバーを提供することであったり (例: " "<systemitem role=\"package\">vim</systemitem> ソースパッケージ)、巨大なパッ" "ケージではなく複数の小さなパッケージを作ったりします (例: ユーザがサブセット" "のみをインストールできるようにして、ディスク容量を節約できます)。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:141 msgid "" "The second case can be easily managed in <filename>debian/rules</filename>. " "You just need to move the appropriate files from the build directory into " "the package's temporary trees. You can do this using <command>install</" "command> or <command>dh_install</command> from <systemitem role=\"package" "\">debhelper</systemitem>. Be sure to check the different permutations of " "the various packages, ensuring that you have the inter-package dependencies " "set right in <filename>debian/control</filename>." msgstr "" "二つ目の例は、<filename>debian/rules</filename> で簡単に扱うことができます。" "ビルドディレクトリからパッケージの一時ツリーへ、適切なファイルを移動する必要" "があるだけです。これは、<command>install</command> または <systemitem role=" "\"package\">debhelper</systemitem> の <command>dh_install</command> を使って" "できます。パッケージ間の依存関係を <filename>debian/control</filename> 内で正" "しく設定したのを忘れずに確認してください。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:150 msgid "" "The first case is a bit more difficult since it involves multiple recompiles " "of the same software but with different configuration options. The " "<systemitem role=\"package\">vim</systemitem> source package is an example " "of how to manage this using an hand-crafted <filename>debian/rules</" "filename> file." msgstr "" "最初の例は、同じソフトウェアでありながら異なった設定オプションで複数回再コン" "パイルする必要があるので、ちょっと難しくなります。<systemitem role=\"package" "\">vim</systemitem> ソースパッケージは、手作りの <filename>debian/rules</" "filename> ファイルを使ってどのようにこの作業を扱うか、という例です。" # type: Content of: <chapter><section><title> #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:162 msgid "Best practices for <filename>debian/control</filename>" msgstr "<filename>debian/control</filename> のベストプラクティス" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:164 msgid "" "The following practices are relevant to the <filename>debian/control</" "filename> file. They supplement the <ulink url=\"&url-debian-policy;ch-" "binary.html#s-descriptions\">Policy on package descriptions</ulink>." msgstr "" "以下のプラクティスは、<filename>debian/control</filename> ファイルに関するも" "のです。<ulink url=\"&url-debian-policy;ch-binary.html#s-descriptions\">パッ" "ケージ説明文についてのポリシー</ulink>を補完します。" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:170 msgid "" "The description of the package, as defined by the corresponding field in the " "<filename>control</filename> file, contains both the package synopsis and " "the long description for the package. <xref linkend=\"bpp-desc-basics\"/> " "describes common guidelines for both parts of the package description. " "Following that, <xref linkend=\"bpp-pkg-synopsis\"/> provides guidelines " "specific to the synopsis, and <xref linkend=\"bpp-pkg-desc\"/> contains " "guidelines specific to the description." msgstr "" "パッケージの説明文は、<filename>control</filename> ファイルの対応するフィール" "ドにて定義されている様に、パッケージの概要とパッケージに関する長い説明文の両" "方を含んでいます。<xref linkend=\"bpp-desc-basics\"/> では、パッケージ説明文" "の双方の部分についての一般的なガイドラインが記述されています。それによると、" "<xref linkend=\"bpp-pkg-synopsis\"/> が概要に特化したガイドラインを提供してお" "り、そして <xref linkend=\"bpp-pkg-desc\"/> が説明文 (description) に特化した" "ガイドラインを含んでいます。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:179 msgid "General guidelines for package descriptions" msgstr "パッケージ説明文の基本的なガイドライン" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:181 msgid "" "The package description should be written for the average likely user, the " "average person who will use and benefit from the package. For instance, " "development packages are for developers, and can be technical in their " "language. More general-purpose applications, such as editors, should be " "written for a less technical user." msgstr "" "パッケージの説明文は平均的なユーザーに向けて書く必要があります。平均的な人と" "いうのは、パッケージを使って得をするであろう人のことです。例えば、開発用パッ" "ケージであれば開発者向けですし、彼ら向けの言葉でテクニカルに記述することがで" "きます。より汎用的なアプリケーション、例えばエディタなどであれば、あまり技術" "的ではないユーザ向けに書く必要があります。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:188 msgid "" "Our review of package descriptions lead us to conclude that most package " "descriptions are technical, that is, are not written to make sense for non-" "technical users. Unless your package really is only for technical users, " "this is a problem." msgstr "" "パッケージ説明文のレビューを行った結果、ほとんどのものがテクニカルである、つ" "まり、技術に詳しくはないユーザに通じるようには書かれてはいないという結論に達" "しました。あなたのパッケージが、本当に技術に精通したユーザ用のみではない限" "り、これは問題です。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:194 msgid "" "How do you write for non-technical users? Avoid jargon. Avoid referring to " "other applications or frameworks that the user might not be familiar with — " "GNOME or KDE is fine, since users are probably familiar with these terms, " "but GTK+ is probably not. Try not to assume any knowledge at all. If you " "must use technical terms, introduce them." msgstr "" "どうやって技術に詳しくはないユーザに対して書けばいいのでしょう? ジャーゴンを" "避けましょう。ユーザが詳しくないであろう他のアプリケーションやフレームワーク" "への参照を避けましょうー GNOME や KDE については、おそらくユーザはその言葉に" "ついて知っているでしょうから構いませんが、GTK+ はおそらくダメです。まったく知" "識がないと仮定してみましょう。技術用語を使わねばならない場合は、説明しましょ" "う。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:201 msgid "" "Be objective. Package descriptions are not the place for advocating your " "package, no matter how much you love it. Remember that the reader may not " "care about the same things you care about." msgstr "" "客観的になりましょう。パッケージ説明文はあなたのパッケージの宣伝場所ではあり" "ません。あなたがそのパッケージをどんなに愛しているかは関係ありません。その説" "明文を読む人は、あなたが気にすることと同じことを気にはしないであろうことを覚" "えておいてください。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:206 msgid "" "References to the names of any other software packages, protocol names, " "standards, or specifications should use their canonical forms, if one " "exists. For example, use X Window System, X11, or X; not X Windows, X-" "Windows, or X Window. Use GTK+, not GTK or gtk. Use GNOME, not Gnome. Use " "PostScript, not Postscript or postscript." msgstr "" "他のソフトウェアパッケージ、プロトコル名、標準規格、仕様の名前を参照する場合" "には、もしあれば正規名称を使いましょう。X Windows や X-Windows や X Window で" "はなく、X Window System あるいは X11 または X を使いましょう。GTK や gtk では" "なく GTK+ を使いましょう。Gnome ではなく GNOME を使いましょう。Postscript や " "postscript ではなく PostScript を使いましょう。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:213 msgid "" "If you are having problems writing your description, you may wish to send it " "along to &email-debian-l10n-english; and request feedback." msgstr "" "説明文を書くことに問題があれば、&email-debian-l10n-english; へそれを送って" "フィードバックを求めるとよいでしょう。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:219 msgid "The package synopsis, or short description" msgstr "パッケージの概要、あるいは短い説明文" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:221 msgid "" "Policy says the synopsis line (the short description) must be concise, not " "repeating the package name, but also informative." msgstr "" "ポリシーでは、概要行 (短い説明文) はパッケージ名を繰り返すのではなく、簡潔か" "つ有益なものである必要がある、となっています。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:225 msgid "" "The synopsis functions as a phrase describing the package, not a complete " "sentence, so sentential punctuation is inappropriate: it does not need extra " "capital letters or a final period (full stop). It should also omit any " "initial indefinite or definite article — \"a\", \"an\", or \"the\". Thus for " "instance:" msgstr "" "概要は、完全な文章ではなくパッケージを記述するフレーズとして機能します。です" "ので、句読点は不適切です: 追加の大文字や最後のピリオドは不要です。また、最初" "の不定冠詞や定冠詞 — \"a\", \"an\", or \"the\" を削る必要があります。つまり、" "例えば以下のようになります:" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:231 #, no-wrap msgid "" "Package: libeg0\n" "Description: exemplification support library\n" msgstr "" "Package: libeg0\n" "Description: exemplification support library\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:235 #, fuzzy msgid "" "Technically this is a noun phrase minus articles, as opposed to a verb " "phrase. A good heuristic is that it should be possible to substitute the " "package <replaceable>name</replaceable> and <replaceable>synopsis</" "replaceable> into this formula:" msgstr "" "技術的に言えば、これは名詞のフレーズから文章を差し引いた、動詞のフレーズを" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:240 msgid "" "The package <replaceable>name</replaceable> provides {a,an,the,some} " "<replaceable>synopsis</replaceable>." msgstr "" "パッケージの<replaceable>名前</replaceable>は<replaceable>概要</replaceable>" "を提供します。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:244 msgid "" "Sets of related packages may use an alternative scheme that divides the " "synopsis into two parts, the first a description of the whole suite and the " "second a summary of the package's role within it:" msgstr "" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:249 #, no-wrap msgid "" "Package: eg-tools\n" "Description: simple exemplification system (utilities)\n" "\t\t\t \n" "Package: eg-doc\n" "Description: simple exemplification system - documentation\n" msgstr "" "Package: eg-tools\n" "Description: simple exemplification system (utilities)\n" "\t\t\t \n" "Package: eg-doc\n" "Description: simple exemplification system - documentation\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:256 msgid "" "These synopses follow a modified formula. Where a package " "\"<replaceable>name</replaceable>\" has a synopsis \"<replaceable>suite</" "replaceable> (<replaceable>role</replaceable>)\" or \"<replaceable>suite</" "replaceable> - <replaceable>role</replaceable>\", the elements should be " "phrased so that they fit into the formula:" msgstr "" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:263 #, fuzzy msgid "" "The package <replaceable>name</replaceable> provides {a,an,the} " "<replaceable>role</replaceable> for the <replaceable>suite</replaceable>." msgstr "" "パッケージ<replaceable>名</replaceable>は、<replaceable>スイート</" "replaceable>に対する<replaceable>役割</replaceable>を提供しています。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:269 msgid "The long description" msgstr "長い説明文 (long description)" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:271 msgid "" "The long description is the primary information available to the user about " "a package before they install it. It should provide all the information " "needed to let the user decide whether to install the package. Assume that " "the user has already read the package synopsis." msgstr "" "長い説明文は、ユーザーがパッケージをインストールする前に利用可能な最初の情報" "です。ユーザーがインストールするか否かを決めるのに必要な情報を、すべて提供す" "る必要があります。ユーザーがパッケージの概要を既に読んでいると仮定してくださ" "い。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:277 msgid "The long description should consist of full and complete sentences." msgstr "長い説明文は、完全な文章から成る必要があります。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:280 msgid "" "The first paragraph of the long description should answer the following " "questions: what does the package do? what task does it help the user " "accomplish? It is important to describe this in a non-technical way, unless " "of course the audience for the package is necessarily technical." msgstr "" "長い説明文の最初の段落は、以下の質問に答えている必要があります: このパッケー" "ジは何をするの? ユーザが作業を完了するのに、どのタスクが役に立つの? ─ 技術寄" "りではない書き方でこれを記述するのが重要です。もちろんパッケージの利用者が必" "然的に技術者ではない限り、です。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:286 msgid "" "The following paragraphs should answer the following questions: Why do I as " "a user need this package? What other features does the package have? What " "outstanding features and deficiencies are there compared to other packages " "(e.g., if you need X, use Y instead)? Is this package related to other " "packages in some way that is not handled by the package manager (e.g., this " "is the client for the foo server)?" msgstr "" "続く段落は以下の質問に答える必要があります: 何故私はユーザーとしてこのパッ" "ケージを必要とするの? パッケージは他にどんな機能を持っているの? 他のパッケー" "ジと比べて、どんな特別な機能や不足している部分があるがあるの? (例: X が必要な" "場合、代わりに Y を使いましょう) このパッケージはパッケージマネージャーで管理" "していない、何らかの方法で他のパッケージに関連している? (例: これは foo サー" "バのクライアントです)" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:294 msgid "" "Be careful to avoid spelling and grammar mistakes. Ensure that you spell-" "check it. Both <command>ispell</command> and <command>aspell</command> have " "special modes for checking <filename>debian/control</filename> files:" msgstr "" "スペルミスや文法の間違いを避けるよう、注意してください。スペルチェックを確実" "に行ってください。<command>ispell</command> と <command>aspell</command> の双" "方に、<filename>debian/control</filename> ファイルをチェックするための特別な" "モードがあります:" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:299 #, no-wrap msgid "ispell -d american -g debian/control\n" msgstr "ispell -d american -g debian/control\n" #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:302 #, no-wrap msgid "aspell -d en -D -c debian/control\n" msgstr "aspell -d en -D -c debian/control\n" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:305 msgid "" "Users usually expect these questions to be answered in the package " "description:" msgstr "" "通常、ユーザは以下のような疑問がパッケージ説明文で答えられることを期待してい" "ます:" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:310 msgid "" "What does the package do? If it is an add-on to another package, then the " "short description of the package we are an add-on to should be put in here." msgstr "" "パッケージは何をするの? 他のパッケージのアドオンだった場合、パッケージがアド" "オンであるということを概要文に書く必要があります。" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:316 msgid "" "Why should I want this package? This is related to the above, but not the " "same (this is a mail user agent; this is cool, fast, interfaces with PGP and " "LDAP and IMAP, has features X, Y, and Z)." msgstr "" "なぜこのパッケージを使うべきなの? これは上記に関連しますが、同じではありませ" "ん (これはメールユーザーエージェントです; クールで速く、PGP や LDAP や IMAP " "のインターフェイスがあり、X や Y や Z の機能があります)。" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:323 msgid "" "If this package should not be installed directly, but is pulled in by " "another package, this should be mentioned." msgstr "" "パッケージが直接インストールされるべきではないが、他のパッケージから引っ張っ" "てこられる時には、付記しておく必要があります。" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:329 msgid "" "If the package is <literal>experimental</literal>, or there are other " "reasons it should not be used, if there are other packages that should be " "used instead, it should be here as well." msgstr "" "パッケージが<literal>実験的</literal>である、あるいは使われない方が良い他の理" "由がある場合、同様にここに記載する必要があります。" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:336 msgid "" "How is this package different from the competition? Is it a better " "implementation? more features? different features? Why should I choose this " "package." msgstr "" "パッケージは競合のものと比べてどうでしょうか? より良い実装なのでしょうか? 機" "能がより豊富なのでしょうか? 違った機能があるのでしょうか? このパッケージを選" "ぶ理由は何でしょう。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:349 msgid "Upstream home page" msgstr "開発元のホームページ" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:351 msgid "" "We recommend that you add the URL for the package's home page in the " "<literal>Homepage</literal> field of the <literal>Source</literal> section " "in <filename>debian/control</filename>. Adding this information in the " "package description itself is considered deprecated." msgstr "" "<filename>debian/control</filename> 中の <literal>Source</literal> セクション" "の <literal>Homepage</literal> フィールドへ、パッケージのホームページの URL " "を追加することをお勧めします。この情報をパッケージ説明文自身に追加するのは推" "奨されない (deprecated) であると考えられています。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:359 msgid "Version Control System location" msgstr "バージョン管理システムの場所" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:361 msgid "" "There are additional fields for the location of the Version Control System " "in <filename>debian/control</filename>." msgstr "" "<filename>debian/control</filename> には、バージョン管理システムの場所につい" "ての追加フィールドがあります。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:365 msgid "Vcs-Browser" msgstr "Vcs-Browser" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:367 msgid "" "Value of this field should be a <literal>http://</literal> URL pointing to a " "web-browsable copy of the Version Control System repository used to maintain " "the given package, if available." msgstr "" "このフィールドの値は、指定したパッケージのメンテナンスに使われているバージョ" "ン管理システムのリポジトリのコピーがもしあれば、それを指し示す " "<literal>http://</literal> URL である必要があります。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:372 msgid "" "The information is meant to be useful for the final user, willing to browse " "the latest work done on the package (e.g. when looking for the patch fixing " "a bug tagged as <literal>pending</literal> in the bug tracking system)." msgstr "" "この情報は、パッケージに行われた最新の作業を閲覧したいエンドユーザにとって有" "用であるのが目的です (例: バグ追跡システムで <literal>pending</literal> とタ" "グがつけられているバグを修正するパッチを探している場合)。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:379 msgid "Vcs-*" msgstr "Vcs-*" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:381 msgid "" "Value of this field should be a string identifying unequivocally the " "location of the Version Control System repository used to maintain the given " "package, if available. <literal>*</literal> identify the Version Control " "System; currently the following systems are supported by the package " "tracking system: <literal>arch</literal>, <literal>bzr</literal> (Bazaar), " "<literal>cvs</literal>, <literal>darcs</literal>, <literal>git</literal>, " "<literal>hg</literal> (Mercurial), <literal>mtn</literal> (Monotone), " "<literal>svn</literal> (Subversion). It is allowed to specify different VCS " "fields for the same package: they will all be shown in the PTS web interface." msgstr "" "このフィールドの値は、もし利用可能でなのであれば、指定されたパッケージをメン" "テナンスするのに使われているバージョン管理システムの位置を明確に識別できる文" "字列である必要があります。<literal>*</literal> はバージョン管理システムの識別" "に使われます; 現在では、以下のシステムがパッケージ追跡システムによってサポー" "トされています: <literal>arch</literal>、<literal>bzr</literal> (Bazaar)、" "<literal>cvs</literal>、<literal>darcs</literal>、<literal>git</literal>、" "<literal>hg</literal> (Mercurial)、<literal>mtn</literal> (Monotone)、" "<literal>svn</literal> (Subversion)。同じパッケージについて異なった VCS を指" "定することも可能です: これらはすべて PTS のウェブインターフェイスに表示されま" "す。" # FIXME-trans: 場所からロケーション、にする? # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:392 msgid "" "The information is meant to be useful for a user knowledgeable in the given " "Version Control System and willing to build the current version of a package " "from the VCS sources. Other uses of this information might include " "automatic building of the latest VCS version of the given package. To this " "end the location pointed to by the field should better be version agnostic " "and point to the main branch (for VCSs supporting such a concept). Also, " "the location pointed to should be accessible to the final user; fulfilling " "this requirement might imply pointing to an anonymous access of the " "repository instead of pointing to an SSH-accessible version of the same." msgstr "" "この情報は、そのバージョン管理システムについて知識があり、VCS ソースから現在" "のバージョンパッケージを生成ユーザにとって有益であるよう意図されています。こ" "の情報の他の使い方としては、指定されたパッケージの最新の VCS バージョンを自動" "ビルドするなどがあるかもしれません。このため、フィールドによって指し示される" "場所は、バージョンに関係なく、(そのようなコンセプトをサポートしている VCS で" "あれば) メインブランチを指すのが良いでしょう。また、指し示される場所は一般" "ユーザがアクセス可能である必要があります; この要求を満たすには SSH アクセス可" "能なリポジトリを指すのではなく、匿名アクセスが可能なリポジトリを指すようにす" "ることを意味します。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:403 msgid "" "In the following example, an instance of the field for a Subversion " "repository of the <systemitem role=\"package\">vim</systemitem> package is " "shown. Note how the URL is in the <literal>svn://</literal> scheme (instead " "of <literal>svn+ssh://</literal>) and how it points to the <filename>trunk/</" "filename> branch. The use of the <literal>Vcs-Browser</literal> and " "<literal>Homepage</literal> fields described above is also shown." msgstr "" "以下の例では、<systemitem role=\"package\">vim</systemitem> パッケージの " "Subversion リポジトリに対するフィールドの例が挙げられています。(<literal>svn" "+ssh://</literal> ではなく) <literal>svn://</literal> スキーム中で URL がどの" "ようになっているか、<filename>trunk/</filename> ブランチをどのように指し示し" "ているかに注意してください。上で挙げられた <literal>Vcs-Browser</literal> " "フィールドと <literal>Homepage</literal> フィールドの使い方も出ています。" # type: Content of: <chapter><section><section><section><screen> #. type: Content of: <chapter><section><section><section><screen> #: best-pkging-practices.dbk:412 #, no-wrap msgid "" " Source: vim\n" " Section: editors\n" " Priority: optional\n" " <snip>\n" " Vcs-Svn: svn://svn.debian.org/svn/pkg-vim/trunk/packages/vim\n" " Vcs-Browser: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim\n" " Homepage: http://www.vim.org\n" msgstr "" " Source: vim\n" " Section: editors\n" " Priority: optional\n" " <snip>\n" " Vcs-Svn: svn://svn.debian.org/svn/pkg-vim/trunk/packages/vim\n" " Vcs-Browser: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim\n" " Homepage: http://www.vim.org\n" # type: Content of: <chapter><section><title> #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:427 msgid "Best practices for <filename>debian/changelog</filename>" msgstr "<filename>debian/changelog</filename> のベストプラクティス" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:429 msgid "" "The following practices supplement the <ulink url=\"&url-debian-policy;ch-" "docs.html#s-changelogs\">Policy on changelog files</ulink>." msgstr "" "以下のプラクティスは <ulink url=\"&url-debian-policy;ch-docs.html#s-" "changelogs\">changelog ファイルに対するポリシー</ulink>を補完します。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:434 msgid "Writing useful changelog entries" msgstr "役立つ changelog のエントリを書く" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:436 msgid "" "The changelog entry for a package revision documents changes in that " "revision, and only them. Concentrate on describing significant and user-" "visible changes that were made since the last version." msgstr "" "パッケージリビジョンに対する changelog エントリは、そのリビジョンでの変更それ" "だけを記載します。最後のバージョンから行われた、重要な、そしてユーザに見える" "形の変更を記述することに集中しましょう。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:441 msgid "" "Focus on <emphasis>what</emphasis> was changed — who, how and when are " "usually less important. Having said that, remember to politely attribute " "people who have provided notable help in making the package (e.g., those who " "have sent in patches)." msgstr "" "<emphasis>何が</emphasis>変更されたかについて集中しましょう — 誰が、どうやっ" "て、何時なのか通常あまり重要ではありません。そうは言っても、パッケージ作成に" "ついて明記すべき手助けをしてくれた人々 (例えば、パッチを送ってくれた人) を丁" "寧に明記するのを忘れないようにしましょう。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:447 msgid "" "There's no need to elaborate the trivial and obvious changes. You can also " "aggregate several changes in one entry. On the other hand, don't be overly " "terse if you have undertaken a major change. Be especially clear if there " "are changes that affect the behaviour of the program. For further " "explanations, use the <filename>README.Debian</filename> file." msgstr "" "些細で明白な変更を詳細に書く必要はありません。複数の変更点を一つのエントリに" "まとめることもできます。逆に言えば、大きな変更をした場合には、あまりに簡潔に" "しすぎないようにしましょう。プログラムの動作に影響を与える変更がある場合に" "は、特に確認しておきましょう。詳細な説明については、<filename>README.Debian</" "filename> ファイルを使ってください。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:454 msgid "" "Use common English so that the majority of readers can comprehend it. Avoid " "abbreviations, tech-speak and jargon when explaining changes that close " "bugs, especially for bugs filed by users that did not strike you as " "particularly technically savvy. Be polite, don't swear." msgstr "" "平易な英語を使いましょう。そうすれば読者の大半が理解できます。バグをクローズ" "する変更を説明する際には略語や、テクニカルな言い方やジャーゴンを避けましょ" "う。特に、技術的に精通していないと思われるユーザによって登録されたバグを閉じ" "る際には気をつけましょう。礼儀正しく、断言をしないように。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:460 msgid "" "It is sometimes desirable to prefix changelog entries with the names of the " "files that were changed. However, there's no need to explicitly list each " "and every last one of the changed files, especially if the change was small " "or repetitive. You may use wildcards." msgstr "" "時折、changelog エントリに変更したファイルの名前を頭に付けたくなることがあり" "ます。ですが、個々のすべての変更したファイルを一覧にする必要性はありません。" "特に変更点が小さくて繰り返される場合です。ワイルドカードを使いましょう。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:466 msgid "" "When referring to bugs, don't assume anything. Say what the problem was, " "how it was fixed, and append the closes: #nnnnn string. See <xref linkend=" "\"upload-bugfix\"/> for more information." msgstr "" "バグに触れる際には、何も仮定しないようにしましょう。何が問題だったのか、どう" "やってそれが直されたのかについて言い、closes: #nnnnn の文字列を追加しましょ" "う。詳細については <xref linkend=\"upload-bugfix\"/> を参照してください。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:473 msgid "Common misconceptions about changelog entries" msgstr "changelog のエントリに関するよくある誤解" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:475 msgid "" "The changelog entries should <emphasis role=\"strong\">not</emphasis> " "document generic packaging issues (Hey, if you're looking for foo.conf, it's " "in /etc/blah/.), since administrators and users are supposed to be at least " "remotely acquainted with how such things are generally arranged on Debian " "systems. Do, however, mention if you change the location of a configuration " "file." msgstr "" "changelog エントリは、一般的なパッケージ化の事柄 (ほら、foo.conf を探している" "なら /etc/blah にあるよ) を記載するべきでは<emphasis role=\"strong\">ありませ" "ん</emphasis>。何故なら、管理者やユーザは少なくとも Debian システム上でそのよ" "うなことがどのように扱われるかを多少は知らされているでしょうから。ですが、設" "定ファイルの場所を変更したのであれば、それは一言添えておくべきです。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:483 msgid "" "The only bugs closed with a changelog entry should be those that are " "actually fixed in the same package revision. Closing unrelated bugs in the " "changelog is bad practice. See <xref linkend=\"upload-bugfix\"/>." msgstr "" "changelog エントリでクローズされるバグは、実際にそのパッケージリビジョンで修" "正されたものだけにすべきです。changelog で関係ないバグを閉じるのは良くない習" "慣です。<xref linkend=\"upload-bugfix\"/> を参照してください。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:488 msgid "" "The changelog entries should <emphasis role=\"strong\">not</emphasis> be " "used for random discussion with bug reporters (I don't see segfaults when " "starting foo with option bar; send in more info), general statements on " "life, the universe and everything (sorry this upload took me so long, but I " "caught the flu), or pleas for help (the bug list on this package is huge, " "please lend me a hand). Such things usually won't be noticed by their " "target audience, but may annoy people who wish to read information about " "actual changes in the package. See <xref linkend=\"bug-answering\"/> for " "more information on how to use the bug tracking system." msgstr "" "changelog エントリは、バグ報告者との各種の議論の場 (foo をオプション bar 付き" "で起動した際にはセグメンテーションフォルトは見られません; もっと詳しい情報を" "送ってください)、生命、宇宙、そして万物についての概要 (すいませんが、このアッ" "プロードに時間がかかったので風邪をひきました)、手助けの求め (このパッケージの" "バグ一覧は巨大です、手を貸してください) に使うべきでは<emphasis role=\"strong" "\">ありません</emphasis>。そのようなことは、大抵の場合対象としている読者は気" "づくことが無く、パッケージで実際にあった変更点の情報について読みたい人々を悩" "ますことでしょう。どの様にバグ報告システムを使えばいいのかについて、詳細な情" "報は<xref linkend=\"bug-answering\"/>を参照してください。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:499 msgid "" "It is an old tradition to acknowledge bugs fixed in non-maintainer uploads " "in the first changelog entry of the proper maintainer upload. As we have " "version tracking now, it is enough to keep the NMUed changelog entries and " "just mention this fact in your own changelog entry." msgstr "" "正式なメンテナによるアップロードの changelog エントリの最初で、non-" "maintainer upload で修正されたバグを承認するのは、古い慣習です。今はバージョ" "ン管理を行っているので、NMU された changelog エントリを残しておいて自分の " "changelog エントリ中でその事実に触れるだけで十分です。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:507 msgid "Common errors in changelog entries" msgstr "changelog のエントリ中のよくある間違い" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:509 msgid "" "The following examples demonstrate some common errors or examples of bad " "style in changelog entries." msgstr "" "以下の例で、changelog エントリ中のよくある間違いや間違ったスタイルの例を挙げ" "ます。" # type: Content of: <chapter><section><section><screen> #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:513 #, no-wrap msgid " * Fixed all outstanding bugs.\n" msgstr " * Fixed all outstanding bugs.\n" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:516 msgid "This doesn't tell readers anything too useful, obviously." msgstr "これは、全く読み手に何も有用なことを教えてくれません。" # type: Content of: <chapter><section><section><screen> #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:519 #, no-wrap msgid " * Applied patch from Jane Random.\n" msgstr " * Applied patch from Jane Random.\n" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:522 msgid "What was the patch about?" msgstr "何についてのパッチですか?" # type: Content of: <chapter><section><section><screen> #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:525 #, no-wrap msgid " * Late night install target overhaul.\n" msgstr " * Late night install target overhaul.\n" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:528 msgid "" "Overhaul which accomplished what? Is the mention of late night supposed to " "remind us that we shouldn't trust that code?" msgstr "" "何をオーバーホールしてどうなったのですか? 深夜というのに言及しているのは、私" "たちにこのコードを信用するなと言いたいのですか?" # type: Content of: <chapter><section><section><screen> #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:532 #, no-wrap msgid " * Fix vsync FU w/ ancient CRTs.\n" msgstr " * Fix vsync FU w/ ancient CRTs.\n" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:535 msgid "" "Too many acronyms, and it's not overly clear what the, uh, fsckup (oops, a " "curse word!) was actually about, or how it was fixed." msgstr "" "略称が多すぎます。そして、ええっと、fsckup (あぁ、ひどい言葉!) は実際何だった" "のか、あるいはどうやって修正したのかがまったく明らかではありません。" # type: Content of: <chapter><section><section><screen> #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:539 #, no-wrap msgid " * This is not a bug, closes: #nnnnnn.\n" msgstr " * This is not a bug, closes: #nnnnnn.\n" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:542 msgid "" "First of all, there's absolutely no need to upload the package to convey " "this information; instead, use the bug tracking system. Secondly, there's " "no explanation as to why the report is not a bug." msgstr "" "まず初めに、この情報を伝えるためにパッケージをアップロードする必要は、全くあ" "りません; 代わりにバグ追跡システムを使ってください。次に、何故この報告がバグ" "ではなかったのかについての説明がありません。" # type: Content of: <chapter><section><section><screen> #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:547 #, no-wrap msgid " * Has been fixed for ages, but I forgot to close; closes: #54321.\n" msgstr " * Has been fixed for ages, but I forgot to close; closes: #54321.\n" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:550 msgid "" "If for some reason you didn't mention the bug number in a previous changelog " "entry, there's no problem, just close the bug normally in the BTS. There's " "no need to touch the changelog file, presuming the description of the fix is " "already in (this applies to the fixes by the upstream authors/maintainers as " "well, you don't have to track bugs that they fixed ages ago in your " "changelog)." msgstr "" "何らかの理由で以前の changelog エントリ内でバグ番号について触れていなかったと" "しても、何も問題はありません。単にいつも通りに BTS でバグをクローズしてくださ" "い。修正の記述が既にあるものと考えて、changelog ファイルに触れる必要はありま" "せん (これは、開発元の作者/メンテナによる修正にも同様に適用されます。彼らが" "ずっと前に修正したバグを、あなたの changelog 内で追いかける必要はありませ" "ん)。" # type: Content of: <chapter><section><section><screen> #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:557 #, no-wrap msgid " * Closes: #12345, #12346, #15432\n" msgstr " * Closes: #12345, #12346, #15432\n" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:560 msgid "" "Where's the description? If you can't think of a descriptive message, start " "by inserting the title of each different bug." msgstr "" "説明はどこ? 説明文を考えられないのなら、それぞれのバグのタイトルを入れるとこ" "ろから始めてください。" #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:566 msgid "Supplementing changelogs with <filename>NEWS.Debian</filename> files" msgstr "<filename>NEWS.Debian</filename> ファイルで changelog を補足する" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:568 msgid "" "Important news about changes in a package can also be put in <filename>NEWS." "Debian</filename> files. The news will be displayed by tools like " "<systemitem role=\"package\">apt-listchanges</systemitem>, before all the " "rest of the changelogs. This is the preferred means to let the user know " "about significant changes in a package. It is better than using <systemitem " "role=\"package\">debconf</systemitem> notes since it is less annoying and " "the user can go back and refer to the <filename>NEWS.Debian</filename> file " "after the install. And it's better than listing major changes in " "<filename>README.Debian</filename>, since the user can easily miss such " "notes." msgstr "" "パッケージの変更に関する重要なニュースは <filename>NEWS.Debian</filename> " "ファイルにも書くことができます。このニュースは <systemitem role=\"package" "\">apt-listchanges</systemitem> のようなツールで、残りすべての changelog の前" "に表示されます。これは、ユーザにパッケージ内の著しい変更点について知らせるの" "に好ましいやり方です。インストール後にユーザが一旦戻って <filename>NEWS." "Debian</filename> ファイルを参照できるので、<systemitem role=\"package" "\">debconf</systemitem> の notes を使うより良いです。そして、目立った変更点" "を <filename>README.Debian</filename> に列挙するより良いです。何故ならば、" "ユーザは容易にそのような注意書きを見逃すからです。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:579 msgid "" "The file format is the same as a debian changelog file, but leave off the " "asterisks and describe each news item with a full paragraph when necessary " "rather than the more concise summaries that would go in a changelog. It's a " "good idea to run your file through <literal>dpkg-parsechangelog</literal> to " "check its formatting as it will not be automatically checked during build as " "the changelog is. Here is an example of a real <filename>NEWS.Debian</" "filename> file:" msgstr "" "ファイル形式は debian changelog ファイルと同じですが、アスタリスク (*) を取っ" "て各ニュースを changelog に書くような簡潔な要約ではなく、必要に応じて完全な段" "落で記述してください。changelog のようにビルド中に自動的にはチェックされない" "ので、ファイルを <literal>dpkg-parsechangelog</literal> を実行してチェックす" "るのは良い考えです。実際の <filename>NEWS.Debian</filename> ファイルの例が、" "以下になります:" # type: Content of: <chapter><section><section><screen> #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:588 #, no-wrap msgid "" "cron (3.0pl1-74) unstable; urgency=low\n" "\n" " The checksecurity script is no longer included with the cron package:\n" " it now has its own package, checksecurity. If you liked the\n" " functionality provided with that script, please install the new\n" " package.\n" "\n" " -- Steve Greenland <stevegr@debian.org> Sat, 6 Sep 2003 17:15:03 -0500\n" msgstr "" "cron (3.0pl1-74) unstable; urgency=low\n" "\n" " The checksecurity script is no longer included with the cron package:\n" " it now has its own package, checksecurity. If you liked the\n" " functionality provided with that script, please install the new\n" " package.\n" "\n" " -- Steve Greenland <stevegr@debian.org> Sat, 6 Sep 2003 17:15:03 -0500\n" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:598 msgid "" "The <filename>NEWS.Debian</filename> file is installed as <filename>/usr/" "share/doc/<replaceable>package</replaceable>/NEWS.Debian.gz</filename>. It " "is compressed, and always has that name even in Debian native packages. If " "you use <literal>debhelper</literal>, <literal>dh_installchangelogs</" "literal> will install <filename>debian/NEWS</filename> files for you." msgstr "" "<filename>NEWS.Debian</filename> ファイルは <filename>/usr/share/doc/" "<replaceable>package</replaceable>/NEWS.Debian.gz</filename> ファイルとしてイ" "ンストールされます。圧縮されていて、Debian ネイティブパッケージ中でも常にこの" "名前です。<literal>debhelper</literal> を使う場合は、" "<literal>dh_installchangelogs</literal> が <filename>debian/NEWS</filename> " "ファイルをインストールしてくれます。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:605 msgid "" "Unlike changelog files, you need not update <filename>NEWS.Debian</filename> " "files with every release. Only update them if you have something " "particularly newsworthy that user should know about. If you have no news at " "all, there's no need to ship a <filename>NEWS.Debian</filename> file in your " "package. No news is good news!" msgstr "" "changelog ファイルと違って、毎回のリリースごとに <filename>NEWS.Debian</" "filename> ファイルを更新する必要はありません。何か特にユーザが知るべき目新し" "いことがあったときにのみ、更新してください。全くニュースがない場合、" "<filename>NEWS.Debian</filename> ファイルをパッケージに入れてリリースする必要" "はありません。便りが無いのは良い知らせ、です (No news is good news!)。" # type: Content of: <chapter><section><title> #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:627 msgid "Best practices for maintainer scripts" msgstr "メンテナスクリプトのベストプラクティス" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:629 msgid "" "Maintainer scripts include the files <filename>debian/postinst</filename>, " "<filename>debian/preinst</filename>, <filename>debian/prerm</filename> and " "<filename>debian/postrm</filename>. These scripts take care of any package " "installation or deinstallation setup which isn't handled merely by the " "creation or removal of files and directories. The following instructions " "supplement the <ulink url=\"&url-debian-policy;\">Debian Policy</ulink>." msgstr "" "メンテナスクリプトには <filename>debian/postinst</filename>、" "<filename>debian/preinst</filename>、<filename>debian/prerm</filename>、" "<filename>debian/postrm</filename> ファイルが含まれます。これらのスクリプト" "は、単なるファイルやディレクトリの作成や削除では扱われない、パッケージのイン" "ストールと削除のセットアップの面倒をみます。以下の説明は、<ulink url=\"&url-" "debian-policy;\">Debian ポリシー</ulink>を補完します。" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:637 msgid "" "Maintainer scripts must be idempotent. That means that you need to make " "sure nothing bad will happen if the script is called twice where it would " "usually be called once." msgstr "" "メンテナスクリプトは冪等でなければなりません。これは、通常は 1 回呼ばれるスク" "リプトが 2 回呼ばれた場合、何も悪いことが起きないのを保証する必要があるという" "意味です。" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:642 msgid "" "Standard input and output may be redirected (e.g. into pipes) for logging " "purposes, so don't rely on them being a tty." msgstr "" "標準入出力はログの取得のためにリダイレクトされることがあります (例: パイプへ" "向けられる)。ですので、これらが tty であることに依存してはいけません。" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:646 msgid "" "All prompting or interactive configuration should be kept to a minimum. " "When it is necessary, you should use the <systemitem role=\"package" "\">debconf</systemitem> package for the interface. Remember that prompting " "in any case can only be in the <literal>configure</literal> stage of the " "<filename>postinst</filename> script." msgstr "" "質問や対話的な設定はすべて最小限に止めておく必要があります。必要になった時" "は、インターフェイスに <systemitem role=\"package\">debconf</systemitem> パッ" "ケージを使いましょう。どのような場合でも、質問は <filename>postinst</" "filename> スクリプトの <literal>configure</literal> 段階にのみ、配置すること" "ができます。" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:653 msgid "" "Keep the maintainer scripts as simple as possible. We suggest you use pure " "POSIX shell scripts. Remember, if you do need any bash features, the " "maintainer script must have a bash shebang line. POSIX shell or Bash are " "preferred to Perl, since they enable <systemitem role=\"package\">debhelper</" "systemitem> to easily add bits to the scripts." msgstr "" "メンテナスクリプトは、できる限りシンプルなものにしておきましょう。我々は、あ" "なたは純粋な POSIX シェルスクリプトを使っているものだと考えています。覚えてお" "いて欲しいのですが、何かしら bash の機能が必要になったら、メンテナスクリプト" "は bash のシェバン行にしておく必要があります。スクリプトへ簡単にちょっとした" "変更を追加するのに <systemitem role=\"package\">debhelper</systemitem> を使え" "るので、Perl より POSIX シェル、あるいは Bash の方が好まれます。" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:660 msgid "" "If you change your maintainer scripts, be sure to test package removal, " "double installation, and purging. Be sure that a purged package is " "completely gone, that is, it must remove any files created, directly or " "indirectly, in any maintainer script." msgstr "" "メンテナスクリプトを変更したら、パッケージの削除や二重インストール、purge の" "テストを確認してください。purge されたパッケージが完全に削除されたことを確認" "してください。つまり、メンテナスクリプト中で直接/間接を問わず作成されたファ" "イルを削除する必要があるということです。" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:666 msgid "" "If you need to check for the existence of a command, you should use " "something like" msgstr "コマンドの存在をチェックする必要がある場合は、このような感じで行います" # type: Content of: <chapter><section><programlisting> #. type: Content of: <chapter><section><programlisting> #: best-pkging-practices.dbk:669 #, no-wrap msgid "if [ -x /usr/sbin/install-docs ]; then ..." msgstr "if [ -x /usr/sbin/install-docs ]; then ..." # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:671 msgid "" "If you don't wish to hard-code the path of a command in your maintainer " "script, the following POSIX-compliant shell function may help:" msgstr "" "メンテナスクリプト中でコマンドの path をハードコードしたくない場合には、以下" "の POSIX 互換シェル機能が役立つでしょう:" #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:676 msgid "" "You can use this function to search <varname>$PATH</varname> for a command " "name, passed as an argument. It returns true (zero) if the command was " "found, and false if not. This is really the most portable way, since " "<literal>command -v</literal>, <command>type</command>, and <command>which</" "command> are not POSIX." msgstr "" "コマンド名を引数として渡すことで、<varname>$PATH</varname> の検索するのにこの" "関数を使うことができます。コマンドが見つかった場合は true (ゼロ) を返し、そう" "でない場合は false を返します。<literal>command -v</literal>、<command>type</" "command>、<command>which</command> は POSIX に無いので、これがもっとも汎用性" "の高いやり方です。" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:683 msgid "" "While <command>which</command> is an acceptable alternative, since it is " "from the required <systemitem role=\"package\">debianutils</systemitem> " "package, it's not on the root partition. That is, it's in <filename>/usr/" "bin</filename> rather than <filename>/bin</filename>, so one can't use it in " "scripts which are run before the <filename>/usr</filename> partition is " "mounted. Most scripts won't have this problem, though." msgstr "" "<command>which</command> は、Required となっている <systemitem role=\"package" "\">debianutils</systemitem> パッケージにあるので、別解として利用可能ですが、" "ルートパーティションにありません。つまり、<filename>/usr/bin</filename> に" "あって <filename>/bin</filename> ではないので、<filename>/usr</filename> パー" "ティションがマウントする前に走るスクリプトの中では使えないということです。ほ" "とんどのスクリプトは、この問題を持つようなことはありませんが。" # type: Content of: <chapter><section><title> #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:693 msgid "" "Configuration management with <systemitem role=\"package\">debconf</" "systemitem>" msgstr "<systemitem role=\"package\">debconf</systemitem> による設定管理" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:695 msgid "" "<systemitem role=\"package\">Debconf</systemitem> is a configuration " "management system which can be used by all the various packaging scripts " "(<filename>postinst</filename> mainly) to request feedback from the user " "concerning how to configure the package. Direct user interactions must now " "be avoided in favor of <systemitem role=\"package\">debconf</systemitem> " "interaction. This will enable non-interactive installations in the future." msgstr "" "<systemitem role=\"package\">debconf</systemitem> は、(主に " "<filename>postinst</filename> をはじめとする) すべての様々なパッケージスクリ" "プトが、ユーザはどの様にパッケージを設定したいのかというフィードバックを問い" "合わせるのに使うことが可能な設定管理システムです。直接ユーザとの対話処理は、" "<systemitem role=\"package\">debconf</systemitem> での処理の方を選んだので、" "現状では避けるべきです。これにより、将来には非対話的なインストールが可能にな" "る予定です。" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:703 msgid "" "Debconf is a great tool but it is often poorly used. Many common mistakes " "are listed in the <citerefentry> <refentrytitle>debconf-devel</" "refentrytitle> <manvolnum>7</manvolnum> </citerefentry> man page. It is " "something that you must read if you decide to use debconf. Also, we " "document some best practices here." msgstr "" "debconf は素晴らしいツールですが、しばしば適当に扱われています。多くの共通す" "る失敗は、<citerefentry> <refentrytitle>debconf-devel</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> man ページに記載されています。これ" "は、debconf を使うのを決めた時、あなたが読むべきものです。また、ここではベス" "トプラクティスを記述しています。" # type: Content of: <chapter><section><para> #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:710 msgid "" "These guidelines include some writing style and typography recommendations, " "general considerations about debconf usage as well as more specific " "recommendations for some parts of the distribution (the installation system " "for instance)." msgstr "" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:716 msgid "Do not abuse debconf" msgstr "debconf を乱用しない" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:718 msgid "" "Since debconf appeared in Debian, it has been widely abused and several " "criticisms received by the Debian distribution come from debconf abuse with " "the need of answering a wide bunch of questions before getting any little " "thing installed." msgstr "" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:724 #, fuzzy msgid "" "Keep usage notes to what they belong: the <filename>NEWS.Debian</filename>, " "or <filename>README.Debian</filename> file. Only use notes for important " "notes which may directly affect the package usability. Remember that notes " "will always block the install until confirmed or bother the user by email." msgstr "" "使い方のメモは載せるべきところへ載せましょう: <filename>NEWS.Debian</" "filename>、または <filename>README.Debian</filename> ファイルです。notes は" "パッケージのユーザビリティに直接影響する重要な記述にだけ使いましょう。notes " "は確認するかメールで bother するまで、インストールを常にブロックすることを覚" "えておいてください。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:730 msgid "" "Carefully choose the questions priorities in maintainer scripts. See " "<citerefentry> <refentrytitle>debconf-devel</refentrytitle> <manvolnum>7</" "manvolnum> </citerefentry> for details about priorities. Most questions " "should use medium and low priorities." msgstr "" "メンテナスクリプト中の質問の優先度を注意深く選びましょう。優先度の詳細につい" "ては、<citerefentry> <refentrytitle>debconf-devel</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> を参照してください。ほとんどの質問は" "優先度が medium あるいは low を使うべきです。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:738 msgid "General recommendations for authors and translators" msgstr "作者と翻訳者に対する雑多な推奨" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:740 msgid "Write correct English" msgstr "正しい英語を書く" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:742 msgid "" "Most Debian package maintainers are not native English speakers. So, " "writing properly phrased templates may not be easy for them." msgstr "" "ほとんどの Debian パッケージメンテナはネイティブの英語話者ではありません。で" "すので、正しいフレーズのテンプレートを書くのは彼らにとっては容易ではありませ" "ん。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:746 msgid "" "Please use (and abuse) &email-debian-l10n-english; mailing list. Have your " "templates proofread." msgstr "" "&email-debian-l10n-english; メーリングリストを利用してください (むしろ乱用し" "てください)。テンプレートを査読してもらいましょう。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:750 msgid "" "Badly written templates give a poor image of your package, of your work... " "or even of Debian itself." msgstr "" "下手に書かれたテンプレートは、パッケージに対して、そしてあなたの作業に対し" "て、さらには Debian それ自体にすら対して、悪い印象を与えます。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:754 msgid "" "Avoid technical jargon as much as possible. If some terms sound common to " "you, they may be impossible to understand for others. If you cannot avoid " "them, try to explain them (use the extended description). When doing so, " "try to balance between verbosity and simplicity." msgstr "" "可能な限り技術的なジャーゴンを避けましょう。いくつかの用語があなたにとっては" "普通に聞こえても、他の人には理解不可能かもしれません。避けられない場合には、 " "(説明文を使って) 解説してみましょう。その場合には、冗長さとシンプルさのバラン" "スを取るようにしましょう。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:762 msgid "Be kind to translators" msgstr "翻訳者へ丁寧に接する" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:764 msgid "" "Debconf templates may be translated. Debconf, along with its sister package " "<command>po-debconf</command> offers a simple framework for getting " "templates translated by translation teams or even individuals." msgstr "" "debconf テンプレートは翻訳されるでしょう。debconf、そして関連する姉妹パッケー" "ジ <command>po-debconf</command> は、テンプレートを翻訳チームやさらには個人が" "翻訳できるようにする、シンプルなフレームワークを提供します。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:769 msgid "" "Please use gettext-based templates. Install <systemitem role=\"package\">po-" "debconf</systemitem> on your development system and read its documentation " "(<command>man po-debconf</command> is a good start)." msgstr "" "gettext ベースのテンプレートを使ってください。開発用のシステムに <systemitem " "role=\"package\">po-debconf</systemitem> をインストールしてドキュメントを読み" "ましょう (<command>man po-debconf</command> が取っ掛かりとして良いでしょう)。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:774 #, fuzzy msgid "" "Avoid changing templates too often. Changing templates text induces more " "work to translators which will get their translation fuzzied. A fuzzy " "translation is a string for which the original changed since it was " "translated, therefore requiring some update by a translator to be usable. " "When changes are small enough, the original translation is kept in PO files " "but marked as <literal>fuzzy</literal>." msgstr "" "テンプレートを頻繁に変更しすぎることを避けましょう。テンプレート文の変更は翻" "訳を fuzzy にして、さらなる作業を翻訳作業者に強います。fuzzy になっている翻訳" "文は、翻訳されてから大本の文章が変更された文字列で、そのため使えるようにする" "には翻訳作業者による若干の更新が必要なものです。変更点が十分に小さい場合、大" "本の翻訳文は PO ファイル中に保持されますが <literal>fuzzy</literal> とマーク" "されます。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:782 #, fuzzy msgid "" "If you plan to do changes to your original templates, please use the " "notification system provided with the <systemitem role=\"package\">po-" "debconf</systemitem> package, namely the <command>podebconf-report-po</" "command>, to contact translators. Most active translators are very " "responsive and getting their work included along with your modified " "templates will save you additional uploads. If you use gettext-based " "templates, the translator's name and e-mail addresses are mentioned in the " "PO files headers and will be used by <command>podebconf-report-po</command>." msgstr "" "大本のテンプレートを変更する予定がある場合、<systemitem role=\"package\">po-" "debconf</systemitem> パッケージで提供されている、<command>podebconf-report-" "po</command> という名の通知システムを使って翻訳作業者にコンタクトを取ってくだ" "さい。ほとんどのアクティブな翻訳作業者たちはとても反応が良く、変更を加えたテ" "ンプレートに対応するための作業をしてくれ、あなたが追加でアップロードする必要" "を減らしてくれます。gettext ベースのテンプレートを使っている場合、翻訳作業者" "の名前とメールアドレスは PO ファイルのヘッダに表示されており、" "<command>podebconf-report-po</command> によって利用されることになります。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:794 msgid "A recommended use of that utility is:" msgstr "このユーティリティの使い方のお勧めの使い方:" #. type: Content of: <chapter><section><section><section><programlisting> #: best-pkging-practices.dbk:796 #, no-wrap msgid "cd debian/po && podebconf-report-po --call --languageteam --withtranslators --deadline=\"+10 days\"" msgstr "cd debian/po && podebconf-report-po --call --languageteam --withtranslators --deadline=\"+10 days\"" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:798 msgid "" "This command will first synchronize the PO and POT files in <filename>debian/" "po</filename> with the templates files listed in <filename>debian/po/" "POTFILES.in</filename>. Then, it will send a call for new translations, in " "the &email-debian-i18n; mailing list. Finally, it will also send a call for " "translation updates to the language team (mentioned in the <literal>Language-" "Team</literal> field of each PO file) as well as the last translator " "(mentioned in <literal>Last-translator</literal>)." msgstr "" "このコマンドは、まず <filename>debian/po</filename> にある PO ファイルと POT " "ファイルを <filename>debian/po/POTFILES.in</filename> に記載しているテンプ" "レートファイルを使って同期します。そして、&email-debian-i18n; メーリングリス" "トに call for new translations (新しい翻訳作業の募集) を送信します。最後に、" "call for translation updates (翻訳更新作業者の募集) を (各 PO ファイルの " "<literal>Language-Team</literal> 欄に記載されている) 各言語チームおよび " "(<literal>Last-translator</literal> に記載されている) 最後の翻訳者に送信しま" "す。" # lower than ... 以下?未満? # should be kept for... は only の意味も含んでいるように思う #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:807 #, fuzzy msgid "" "Giving a deadline to translators is always appreciated, so that they can " "organize their work. Please remember that some translation teams have a " "formalized translate/review process and a delay lower than 10 days is " "considered as unreasonable. A shorter delay puts too much pressure on " "translation teams and should be kept for very minor changes." msgstr "" "翻訳作業者に締切りを伝えるのは常に推奨されます。これによって、彼らは作業を調" "整できます。いくつかの翻訳作業チームは形式化された翻訳/レビュープロセスを" "持っており、10 日未満の猶予はunreasonable であると考えられています。より短い" "猶予期間は強すぎるプレッシャーを翻訳チームに与えるので、非常に些細な変更点に" "対してのみに留めるべきです。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:814 msgid "" "If in doubt, you may also contact the translation team for a given language " "(debian-l10n-xxxxx@&lists-host;), or the &email-debian-i18n; mailing list." msgstr "" "迷った場合は、該当の言語の翻訳チーム (debian-l10n-xxxxx@&lists-host;) か " "&email-debian-i18n; にも問い合わせましょう。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:821 msgid "Unfuzzy complete translations when correcting typos and spelling" msgstr "誤字やミススペルを修正する際に fuzzy を取る" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:823 msgid "" "When the text of a debconf template is corrected and you are <emphasis role=" "\"strong\">sure</emphasis> that the change does <emphasis role=\"strong" "\">not</emphasis> affect translations, please be kind to translators and " "<emphasis>unfuzzy</emphasis> their translations." msgstr "" "debconf テンプレートの文章が修正されて、その変更が翻訳に<emphasis role=" "\"strong\">影響しない</emphasis>と<emphasis role=\"strong\">確信している</" "emphasis>場合には、翻訳作業者を労って翻訳文を <emphasis>fuzzy を取り除いて</" "emphasis>ください。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:829 msgid "" "If you don't do so, the whole template will not be translated as long as a " "translator will send you an update." msgstr "" "そうしないと、翻訳作業者が更新をあなたに送るまでテンプレート全体は翻訳されて" "いない状態になります。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:833 msgid "" "To <emphasis>unfuzzy</emphasis> translations, you can use two methods. The " "first method does <emphasis>preventive</emphasis> search and replace actions " "in the PO files. The latter uses <command>gettext</command> utilities to " "<emphasis>unfuzzy</emphasis> strings." msgstr "" "翻訳から <emphasis>fuzzy を取り除く</emphasis>場合、2 つの方法を選ぶことがで" "きます。1 つ目のやり方は<emphasis>preventive</emphasis> 検索を行い、PO ファイ" "ル中で置換作業を行います。もう一つのやり方は、<emphasis>fuzzy 文字列を取り除" "く</emphasis>のに <command>gettext</command> ユーティリティを使います。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:839 #, fuzzy msgid "<emphasis>Preventive unfuzzy</emphasis> method:" msgstr "<emphasis>fuzzy の予防</emphasis> 方法:" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:844 msgid "" "Try finding a complete translation file <emphasis role=\"strong\">before</" "emphasis> the change:" msgstr "" "変更<emphasis role=\"strong\">前</emphasis>に完全な翻訳ファイルを見つけるよう" "にしてください:" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:847 best-pkging-practices.dbk:918 #, no-wrap msgid "for i in debian/po/*po; do echo -n $i: ; msgfmt -o /dev/null --statistics $i; done" msgstr "for i in debian/po/*po; do echo -n $i: ; msgfmt -o /dev/null --statistics $i; done" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:849 msgid "" "The file only showing <emphasis>translated</emphasis> items will be used as " "the reference file. If there is none (which should not happen if you take " "care to properly interact with translators), you should use the file with " "the most translated strings." msgstr "" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:857 msgid "" "Identify the needed change. In this example, let's assume the change is " "about fixing a typo in the word <literal>typo</literal> which was " "inadvertently written as <literal>tpyo</literal>. Therefore, the change is " "<command>s/tpyo/typo</command>." msgstr "" "必要な変更を認識します。この例では、文字列 <literal>typo</literal> が不注意に" "も <literal>tpyo</literal> として書かれている誤字の修正の変更であると仮定して" "みましょう。そのため、変更は <command>s/tpyo/typo</command> です。" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:865 msgid "" "Check that this change is only applied to the place where you really intend " "to make it and <emphasis role=\"strong\">not</emphasis> in any other place " "where the original string is appropriate. This specifically applies to " "change in punctuation, for instance." msgstr "" "この変更が本当に意図した場所だけに適用されて、元々の文字列が適切な他の場所に" "は<emphasis role=\"strong\">適用されない</emphasis> ことを確認しましょう。例" "えば、これは特に句読点の変更に当てはまります。" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:873 msgid "" "Modify all PO files by using <command>sed</command>. The use of that command " "is recommended over any text editor to guarantee that the files encoding " "will not be broken by the edit action:" msgstr "" "すべての PO ファイルを <command>sed</command> を使って変更してください。編集" "作業によってファイルのエンコーディングがこわされないことを保証するため、どの" "テキストエディタよりもこのコマンドの利用を推奨します。" # type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:878 #, no-wrap msgid "" "cd debian/po\n" "for i in *.po; do sed -i 's/tpyo/typo/g' $i; done\n" msgstr "" "cd debian/po\n" "for i in *.po; do sed -i 's/tpyo/typo/g' $i; done\n" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:884 msgid "Change the debconf template file to fix the typo." msgstr "debconf テンプレートファイルを誤字修正のために変更する。" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:889 msgid "Run <command>debconf-updatepo</command>." msgstr "<command>debconf-updatepo</command> を実行する。" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:894 msgid "" "Check the <filename>foo.po</filename> reference file. Its statistics should " "not be changed:" msgstr "" "<filename>foo.po</filename> 参照ファイルをチェックする。統計は変化がないはず" "です:" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:898 #, no-wrap msgid "msgfmt -o /dev/null --statistics debian/po/foo.po\n" msgstr "msgfmt -o /dev/null --statistics debian/po/foo.po\n" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:903 msgid "" "If the file's statistics changed, you did something wrong. Try again or ask " "for help on the &email-debian-i18n; mailing list." msgstr "" "ファイルの統計が変化していた場合、何かしら間違ったことをやっています。再度" "やってみるか、&email-debian-i18n; メーリングリストで助けを求めましょう。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:909 msgid "Gettext utilities method:" msgstr "gettext ユーティリティを使う方法:" # type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:914 msgid "" "Put all incomplete PO files out of the way. You can check the completeness " "by using (needs the <systemitem role=\"package\">gettext</systemitem> " "package installed):" msgstr "" "不完全な PO ファイルすべてをどけておきましょう。以下の様にすれば達成度を" "チェックできます (<systemitem role=\"package\">gettext</systemitem> パッケー" "ジがインストールされている必要があります):" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:922 msgid "" "Move all files which report either fuzzy strings to a temporary place. " "Files which report no fuzzy strings (only translated and untranslated) will " "be kept in place." msgstr "" "fuzzy 文字列を報告してきたすべてのファイルを一時的な場所へ移動しましょう。何" "も fuzzy 文字列を報告しないファイル (翻訳済と未訳のみ) はそこに置いたままにし" "ておきます。" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:929 #, fuzzy msgid "" "Now <emphasis role=\"strong\">and now only</emphasis>, modify the template " "for the typos and check again that translation are not impacted (typos, " "spelling errors, sometimes typographical corrections are usually OK)." msgstr "" "今、<emphasis role=\"strong\">そうたった今</emphasis>、誤字の修正のためにテン" "プレートに手を入れて翻訳が影響を受けていないことを再確認しましょう (誤字、ス" "ペルミス、時には文言の修正なども大抵は OK です)。" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:936 #, fuzzy msgid "" "Run <command>debconf-updatepo</command>. This will fuzzy all strings you " "modified in translations. You can see this by running the above again." msgstr "" "<command>debconf-updatepo</command> を実行します。これは、翻訳中であなたが変" "更したすべての文字列を fuzzy にします。上記を再度実行すれば、You can see " "this by running the above again." #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:942 msgid "Use the following command:" msgstr "以下のコマンドを利用してください:" # type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting> #: best-pkging-practices.dbk:944 #, no-wrap msgid "for i in debian/po/*po; do msgattrib --output-file=$i --clear-fuzzy $i; done" msgstr "for i in debian/po/*po; do msgattrib --output-file=$i --clear-fuzzy $i; done" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:948 msgid "" "Move back to <filename>debian/po</filename> the files which showed fuzzy " "strings in the first step." msgstr "" "最初の手順で fuzzy 文字列を表示していた <filename>debian/po</filename> のファ" "イルに戻ってください。" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:953 msgid "Run <command>debconf-updatepo</command> again." msgstr "再度 <command>debconf-updatepo</command> を実行してください。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:960 msgid "Do not make assumptions about interfaces" msgstr "インターフェイスについて仮定をしない" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:962 msgid "" "Templates text should not make reference to widgets belonging to some " "debconf interfaces. Sentences like <emphasis>If you answer Yes...</" "emphasis> have no meaning for users of graphical interfaces which use " "checkboxes for boolean questions." msgstr "" "テンプレートのテキストは、debconf のインターフェイスに属するウィジェットには" "言及してはいけません。<emphasis>「はい」と答えた場合には...</emphasis> のよう" "な文章は、2 択の質問に対してチェックボックスを使うようなグラフィカルインター" "フェイスのユーザには何の意味もありません。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:967 #, fuzzy msgid "" "String templates should also avoid mentioning the default values in their " "description. First, because this is redundant with the values seen by the " "users. Also, because these default values may be different from the " "maintainer choices (for instance, when the debconf database was preseeded)." msgstr "" "文字列テンプレートは説明文中でのデフォルト値について言及することも避けましょ" "う。まず、ユーザによってそして、デフォルト値はメンテナの考え方によって違う場" "合があるからです (たとえば、debconf データベースが preseed で指定されている場" "合など)。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:973 #, fuzzy msgid "" "More generally speaking, try to avoid referring to user actions. Just give " "facts." msgstr "" "より一般的に言うと、ユーザの行動を参照するのを避けるようにしましょう。単に事" "実を与えましょう。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:979 msgid "Do not use first person" msgstr "一人称を使わない" # speak for #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:981 msgid "" "You should avoid the use of first person (<emphasis>I will do this...</" "emphasis> or <emphasis>We recommend...</emphasis>). The computer is not a " "person and the Debconf templates do not speak for the Debian developers. " "You should use neutral construction. Those of you who already wrote " "scientific publications, just write your templates like you would write a " "scientific paper. However, try using active voice if still possible, like " "<emphasis>Enable this if ...</emphasis> instead of <emphasis>This can be " "enabled if...</emphasis>." msgstr "" "(<emphasis>I will do this...</emphasis> や <emphasis>We recommend...</" "emphasis> などの) 一人称の利用を避けましょう。コンピュータは人ではなく、" "debconf テンプレートは Debian 開発者を代弁するものではありません。中立的な解" "釈を行いましょう。あなたが科学論文を書いたことがあるならば、論文を書くのと同" "様にテンプレートを書きましょう。ですが、可能であれば <emphasis>This can be " "enabled if...</emphasis> ではなく <emphasis>Enable this if ...</emphasis> な" "どとして生の声を届けるようにしましょう。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:991 msgid "Be gender neutral" msgstr "性差に対して中立であれ" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:993 msgid "" "The world is made of men and women. Please use gender-neutral constructions " "in your writing." msgstr "" "世界は、男と女によって成り立っています。記述の際には、性差に対して中立な書き" "方を行ってください。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1001 msgid "Templates fields definition" msgstr "テンプレートのフィールド定義" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1003 msgid "" "This part gives some information which is mostly taken from the " "<citerefentry> <refentrytitle>debconf-devel</refentrytitle> <manvolnum>7</" "manvolnum> </citerefentry> manual page." msgstr "" "この章の情報は、ほとんどを <citerefentry> <refentrytitle>debconf-devel</" "refentrytitle> <manvolnum>7</manvolnum> </citerefentry> マニュアルページから" "得ています。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1008 msgid "Type" msgstr "Type" #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1010 msgid "string" msgstr "string" # type: Content of: <chapter><section><section><section><section><para> #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1012 #, fuzzy msgid "" "Results in a free-form input field that the user can type any string into." msgstr "" "結果をユーザがどのような文字列でも記述可能な自由記述形式の入力フィールド" #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1017 msgid "password" msgstr "password" # type: Content of: <chapter><section><section><section><section><para> #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1019 msgid "" "Prompts the user for a password. Use this with caution; be aware that the " "password the user enters will be written to debconf's database. You should " "probably clean that value out of the database as soon as is possible." msgstr "" "ユーザにパスワードの入力を求めます。これを使う場合は注意して使ってください: " "ユーザが入力したパスワードは debconf のデータベースに書き込まれることに注意し" "てください。おそらく、この値をデータベースから可能な限り早く消す必要がありま" "す。" #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1026 msgid "boolean" msgstr "boolean" # type: Content of: <chapter><section><section><section><section><para> #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1028 msgid "" "A true/false choice. Remember: true/false, <emphasis role=\"strong\">not " "yes/no</emphasis>..." msgstr "" "true/false の選択です。注意点: true/false であって、<emphasis role=\"strong" "\">yes/no ではありません</emphasis>..." #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1034 msgid "select" msgstr "select" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1036 msgid "" "A choice between one of a number of values. The choices must be specified " "in a field named 'Choices'. Separate the possible values with commas and " "spaces, like this: <literal>Choices: yes, no, maybe</literal>." msgstr "" "複数の値から一つを選びます。選択するものは 'Choices' というフィールド名で指定" "されている必要があります。利用可能な値をコンマとスペースで区切ってください。" "以下のようになります: <literal>Choices: yes, no, maybe</literal>" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1041 msgid "" "If choices are translatable strings, the 'Choices' field may be marked as " "translatable by using <literal>__Choices</literal>. The double underscore " "will split out each choice in a separate string." msgstr "" "選択肢が翻訳可能な文字列である場合、'Choices' フィールドは " "<literal>__Choices</literal> を使って翻訳可能であることを示しておくと良いで" "しょう。2つのアンダースコアは、各選択肢を分かれた文字列に分割してくれます。" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1046 msgid "" "The <command>po-debconf</command> system also offers interesting " "possibilities to only mark <emphasis role=\"strong\">some</emphasis> choices " "as translatable. Example:" msgstr "" "<command>po-debconf</command> システムは、翻訳可能な<emphasis role=\"strong\">" "いくつかの</emphasis>選択肢のみをマークする面白い機能を提供してくれます。例:" #. type: Content of: <chapter><section><section><section><section><programlisting> #: best-pkging-practices.dbk:1051 #, no-wrap msgid "" "Template: foo/bar\n" "Type: Select\n" "#flag:translate:3\n" "__Choices: PAL, SECAM, Other\n" "_Description: TV standard:\n" " Please choose the TV standard used in your country.\n" msgstr "" "Template: foo/bar\n" "Type: Select\n" "#flag:translate:3\n" "__Choices: PAL, SECAM, Other\n" "_Description: TV standard:\n" " Please choose the TV standard used in your country.\n" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1059 msgid "" "In that example, only the 'Other' string is translatable while others are " "acronyms that should not be translated. The above allows only 'Other' to be " "included in PO and POT files." msgstr "" "この例では、他は頭文字から構成されていて翻訳できませんが、'Other' 文字列だけ" "は翻訳可能です。上記では 'Other' だけが PO および POT ファイルに含めることが" "できます。" #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1064 msgid "" "The debconf templates flag system offers many such possibilities. The " "<citerefentry> <refentrytitle>po-debconf</refentrytitle> <manvolnum>7</" "manvolnum> </citerefentry> manual page lists all these possibilities." msgstr "" "debconf テンプレートのフラグシステムは、この様な機能をたくさん提供します。" "<citerefentry> <refentrytitle>po-debconf</refentrytitle> <manvolnum>7</" "manvolnum> </citerefentry> マニュアルページでは、これらの利用可能な機能をすべ" "て列挙しています。" #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1072 msgid "multiselect" msgstr "multiselect" # type: Content of: <chapter><section><section><section><section><para> #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1074 msgid "" "Like the select data type, except the user can choose any number of items " "from the choices list (or chose none of them)." msgstr "" "select データ型とそっくりですが、ユーザが選択肢一覧からいくつでも項目を選べ" "る (あるいはどれも選ばないこともできる) 点だけが違います。" #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1080 msgid "note" msgstr "note" # type: Content of: <chapter><section><section><section><section><para> #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1082 #, fuzzy msgid "" "Rather than being a question per se, this datatype indicates a note that can " "be displayed to the user. It should be used only for important notes that " "the user really should see, since debconf will go to great pains to make " "sure the user sees it; halting the install for them to press a key, and even " "mailing the note to them in some cases." msgstr "" "本来質問ではありませんが、このデータ型が示すのはユーザに表示することができる" "メモです。debconf はユーザが必ず見るようにするために、キーを押すためにインス" "トールを休止したり、いくつかの例では記述をメールさえするなどの多大な苦痛を与" "えることになるので、ユーザが知っておく必要がある重要な記述にのみ使うべきで" "す。" #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1091 msgid "text" msgstr "text" # type: Content of: <chapter><section><section><section><section><para> #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1093 msgid "This type is now considered obsolete: don't use it." msgstr "" "この type は現状では古すぎるものと考えられています: 使わないでください。" #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1098 msgid "error" msgstr "error" # type: Content of: <chapter><section><section><section><section><para> #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1100 msgid "" "This type is designed to handle error messages. It is mostly similar to the " "note type. Frontends may present it differently (for instance, the dialog " "frontend of cdebconf draws a red screen instead of the usual blue one)." msgstr "" "この type はエラーメッセージを取り扱うためにデザインされています。ほとんど " "note 型と似通っています。違いはフロントエンドが存在しているであろうことです " "(例えば、cdebconf の dialog フロントエンドは通常の青い画面ではなく、赤い画面" "を描画します)。" # type: Content of: <chapter><section><section><section><section><para> #. type: Content of: <chapter><section><section><section><section><para> #: best-pkging-practices.dbk:1105 #, fuzzy msgid "" "It is recommended to use this type for any message that needs user attention " "for a correction of any kind." msgstr "" "何かを補正するためにユーザの注意を引く必要があるメッセージにこの type を使う" "のがお勧めです。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1113 #, fuzzy msgid "Description: short and extended description" msgstr "Description: short および extended 説明文" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1115 msgid "" "Template descriptions have two parts: short and extended. The short " "description is in the Description: line of the template." msgstr "" "テンプレート説明文は 2 つのパートに分かれます: short と extended です。短い説" "明文 (short description) はテンプレートの Description: 行にあります。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1119 msgid "" "The short description should be kept short (50 characters or so) so that it " "may be accommodated by most debconf interfaces. Keeping it short also helps " "translators, as usually translations tend to end up being longer than the " "original." msgstr "" "短い説明文は、ほとんどの debconf インターフェイスに適用するように、短く (50 " "文字程度に) しておく必要があります。通常、翻訳はオリジナルよりも長くなる傾向" "にあるので、短くすることは翻訳作業者を助けます。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1125 #, fuzzy msgid "" "The short description should be able to stand on its own. Some interfaces " "do not show the long description by default, or only if the user explicitely " "asks for it or even do not show it at all. Avoid things like What do you " "want to do?" msgstr "" "短い説明文はそれ単体で成り立つようにしておく必要があります。いくつかのイン" "ターフェイスは、デフォルトでは長い説明文を表示せず、ユーザが明示的に尋ねたと" "きに表示するか、あるいは全く表示しません。「What do you want to do?」のような" "表現を避けてください。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1131 msgid "" "The short description does not necessarily have to be a full sentence. This " "is part of the keep it short and efficient recommendation." msgstr "" "短い説明文は完全な文章である必要はありません。これは文章を短くしておき、効率" "的に推奨を行うためです。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1135 msgid "" "The extended description should not repeat the short description word for " "word. If you can't think up a long description, then first, think some " "more. Post to debian-devel. Ask for help. Take a writing class! That " "extended description is important. If after all that you still can't come " "up with anything, leave it blank." msgstr "" "拡張された説明文 (extended description) は、短い説明文を一語一句繰り返しをし" "てはなりません。長い説明文章を思いつかなければ、まず、もっと考えてください。" "debian-devel に投稿しましょう。助けを求めましょう。文章の書き方講座を受講しま" "しょう! この拡張された説明文は重要です。もし、まったく何も思いつかなければ、" "空のままにしておきましょう。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1142 msgid "" "The extended description should use complete sentences. Paragraphs should " "be kept short for improved readability. Do not mix two ideas in the same " "paragraph but rather use another paragraph." msgstr "" "拡張された説明文は完全な文章である必要があります。段落を短くしておくのは可読" "性を高めます。同じ段落で 2 つの考えを混ぜてはいけません。代わりに別の段落を書" "きます。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1147 msgid "" "Don't be too verbose. User tend to ignore too long screens. 20 lines are " "by experience a border you shouldn't cross, because that means that in the " "classical dialog interface, people will need to scroll, and lot of people " "just don't do that." msgstr "" "あまり冗長にしないようにしてください。ユーザは長すぎる画面を無視しようとしま" "す。経験からすると、20 行が越えてはならない境界です。何故ならば、クラシックな" "ダイアログインターフェイスでは、スクロールする必要がでてくることになり、そし" "て多くの人がスクロールなどしないからです。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1153 msgid "" "The extended description should <emphasis role=\"strong\">never</emphasis> " "include a question." msgstr "" "拡張された説明文では、質問を含めては<emphasis role=\"strong\">決していけませ" "ん</emphasis>。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1157 msgid "" "For specific rules depending on templates type (string, boolean, etc.), " "please read below." msgstr "" "テンプレートの type (string、boolean など) に応じた特別なルールについては、以" "下を読んでください。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1163 msgid "Choices" msgstr "Choices" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1165 msgid "" "This field should be used for select and multiselect types. It contains the " "possible choices which will be presented to users. These choices should be " "separated by commas." msgstr "" "このフィールドは select あるいは multiselect 型に使ってください。これには、" "ユーザに表示される可能な選択肢が含まれます。これらの選択肢はコンマで区切る必" "要があります。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1172 msgid "Default" msgstr "Default" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1174 msgid "" "This field is optional. It contains the default answer for string, select " "and multiselect templates. For multiselect templates, it may contain a " "comma-separated list of choices." msgstr "" "このフィールドはオプションです。これには、string、select あるいは " "multiselect のデフォルトでの答えが含まれます。multiselect テンプレートの場" "合、コンマで区切られた選択肢一覧が含まれます。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1183 msgid "Templates fields specific style guide" msgstr "テンプレートのフィールド固有スタイルガイド" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1185 msgid "Type field" msgstr "Type フィールド" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1187 #, fuzzy msgid "" "No specific indication except: use the appropriate type by referring to the " "previous section." msgstr "" "特別な指定はありません。一点だけ、その前のセクションを参照して適切な型を使っ" "てください。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1193 msgid "Description field" msgstr "Description フィールド" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1195 msgid "" "Below are specific instructions for properly writing the Description (short " "and extended) depending on the template type." msgstr "" "以下は、テンプレートの型に応じて適切な Description (short および extended) を" "書くための特別な指示です。" # type: Content of: <chapter><section><section><section><section><title> #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1199 msgid "String/password templates" msgstr "String/password テンプレート" # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1203 #, fuzzy msgid "" "The short description is a prompt and <emphasis role=\"strong\">not</" "emphasis> a title. Avoid question style prompts (IP Address?) in favour of " "opened prompts (IP address:). The use of colons is recommended." msgstr "" "短い説明文はプロンプトで、title では<emphasis role=\"strong\">ありません</" "emphasis>。質問形式のプロンプト (IP アドレスは?) を避け、代わりにopened プロ" "ンプト (IP アドレス:) を使ってください。コロン (:) の使用をお勧めします。" # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1210 #, fuzzy msgid "" "The extended description is a complement to the short description. In the " "extended part, explain what is being asked, rather than ask the same " "question again using longer words. Use complete sentences. Terse writing " "style is strongly discouraged." msgstr "" "拡張された説明文は、短い説明文を complement します。拡張の部分では、長い文章" "を使って同じ質問を繰り返すのではなく、何を質問されているのかを説明します。完" "全な文章を書いてください。簡潔な書き方は強く忌避されます。" # type: Content of: <chapter><section><section><section><section><title> #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1220 msgid "Boolean templates" msgstr "Boolean テンプレート" # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1224 msgid "" "The short description should be phrased in the form of a question which " "should be kept short and should generally end with a question mark. Terse " "writing style is permitted and even encouraged if the question is rather " "long (remember that translations are often longer than original versions)." msgstr "" # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1232 #, fuzzy msgid "" "Again, please avoid referring to specific interface widgets. A common " "mistake for such templates is if you answer Yes-type constructions." msgstr "" "繰り返しますが、特定のインターフェイスのウィジェットを参照するのを避けてくだ" "さい。このようなテンプレートで良くある間違いは、「はい」と答える形かどうかで" "す。" # type: Content of: <chapter><section><section><section><section><title> #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1240 msgid "Select/Multiselect" msgstr "Select/Multiselect" # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1244 #, fuzzy msgid "" "The short description is a prompt and <emphasis role=\"strong\">not</" "emphasis> a title. Do <emphasis role=\"strong\">not</emphasis> use useless " "Please choose... constructions. Users are clever enough to figure out they " "have to choose something...:)" msgstr "" "短い説明文はプロンプトされますが title では<emphasis role=\"strong\">ありませ" "ん</emphasis>。Please choose... のような意味の無い文章を文章を<emphasis " "role=\"strong\">使わないで</emphasis>ください。ユーザは何かを選ぶ必要があるく" "らいには十分賢いです... :)" # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1252 msgid "" "The extended description will complete the short description. It may refer " "to the available choices. It may also mention that the user may choose more " "than one of the available choices, if the template is a multiselect one " "(although the interface often makes this clear)." msgstr "" # type: Content of: <chapter><section><section><section><section><title> #. type: Content of: <chapter><section><section><section><section><title> #: best-pkging-practices.dbk:1262 #, fuzzy msgid "Notes" msgstr "Note" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1266 #, fuzzy msgid "" "The short description should be considered to be a <emphasis role=\"strong" "\">title</emphasis>." msgstr "" "short 説明文は<emphasis role=\"strong\">title</emphasis>として扱われます。" # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1271 #, fuzzy msgid "" "The extended description is what will be displayed as a more detailed " "explanation of the note. Phrases, no terse writing style." msgstr "" "拡張された説明文では、note のより詳細な説明を表示します。フレーズで、簡潔過ぎ" "ない書き方です。" #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1277 #, fuzzy msgid "" "<emphasis role=\"strong\">Do not abuse debconf.</emphasis> Notes are the " "most common way to abuse debconf. As written in debconf-devel manual page: " "it's best to use them only for warning about very serious problems. The " "<filename>NEWS.Debian</filename> or <filename>README.Debian</filename> files " "are the appropriate location for a lot of notes. If, by reading this, you " "consider converting your Note type templates to entries in <filename>NEWS." "Debian</filename> or <filename>README.Debian</filename>, plus consider " "keeping existing translations for the future." msgstr "" "<emphasis role=\"strong\">debconf を乱用しないでください。</emphasis> note " "は、debconf の乱用で最も良く使われるやり方です。debconf-devel マニュアルペー" "ジに書かれています: とても深刻な問題について警告する場合のみに使うのがベスト" "です。多くのメモについては、<filename>NEWS.Debian</filename> ファイルや " "<filename>README.Debian</filename> ファイルが適切な場所です。もし、これを読ん" "で、Note 型のテンプレートを <filename>NEWS.Debian</filename> あるいは " "<filename>README.Debian</filename> 中のエントリに変換することを考えた場合、既" "存の翻訳を保持しておくことを考えに入れてください。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1292 msgid "Choices field" msgstr "Choices フィールド" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1294 msgid "" "If the Choices are likely to change often, please consider using the " "__Choices trick. This will split each individual choice into a single " "string, which will considerably help translators for doing their work." msgstr "" "もし Choise が頻繁に変わるようであれば、__Choices という使い方をするのを検討" "してください。これは個々の選択項目を単一の文字列に分割するので、翻訳作業者が" "作業を行うのを助けてくれると考えられています。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1301 best-pkging-practices.dbk:1339 msgid "Default field" msgstr "Default フィールド" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1303 msgid "" "If the default value, for a select template, is likely to vary depending on " "the user language (for instance, if the choice is a language choice), please " "use the _Default trick." msgstr "" "select のテンプレートで、デフォルト値がユーザの言語に応じて変化するようであれ" "ば、_Default という使い方をしてください (例えば、選択肢が言語の選択の場合" "等) 。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1308 msgid "" "This special field allow translators to put the most appropriate choice " "according to their own language. It will become the default choice when " "their language is used while your own mentioned Default Choice will be used " "when using English." msgstr "" "この特別なフィールドによって、翻訳作業者は言語に応じたもっとも適切な選択肢を" "挿入することができるようになります。彼らの言語が選択された場合にデフォルトの" "選択になりますが、英語を使うときには最初に提示された Default Choice が使われ" "ます。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1314 msgid "Example, taken from the geneweb package templates:" msgstr "geneweb パッケージのテンプレートを例にとってみましょう:" # 日本語が無かったので、適当に追加しました… #. type: Content of: <chapter><section><section><section><screen> #: best-pkging-practices.dbk:1317 #, fuzzy, no-wrap msgid "" "Template: geneweb/lang\n" "Type: select\n" "__Choices: Afrikaans (af), Bulgarian (bg), Catalan (ca), Chinese (zh), Czech (cs), Danish (da), Dutch (nl), English (en), Esperanto (eo), Estonian (et), Finnish (fi), French (fr), German (de), Hebrew (he), Icelandic (is), Italian (it), Latvian (lv), Norwegian (no), Polish (pl), Portuguese (pt), Romanian (ro), Russian (ru), Spanish (es), Swedish (sv)\n" "# This is the default choice. Translators may put their own language here\n" "# instead of the default.\n" "# WARNING : you MUST use the ENGLISH NAME of your language\n" "# For instance, the french translator will need to put French (fr) here.\n" "_Default: English[ translators, please see comment in PO files]\n" "_Description: Geneweb default language:\n" msgstr "" "Template: geneweb/lang\n" "Type: select\n" "__Choices: Afrikaans (af), Bulgarian (bg), Catalan (ca), Chinese (zh), Czech (cs), Danish (da), Dutch (nl), English (en), Esperanto (eo), Estonian (et), Finnish (fi), French (fr), German (de), Hebrew (he), Icelandic (is), Italian (it), Latvian (lv), Norwegian (no), Polish (pl), Portuguese (pt), Romanian (ro), Russian (ru), Spanish (es), Swedish (sv)\n" "# This is the default choice. Translators may put their own language here\n" "# instead of the default.\n" "# WARNING : you MUST use the ENGLISH NAME of your language\n" "# For instance, the french translator will need to put French (fr) here.\n" "_Default: English[ translators, please see comment in PO files]\n" "_Description: Geneweb default language:\n" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1328 msgid "" "Note the use of brackets which allow internal comments in debconf fields. " "Also note the use of comments which will show up in files the translators " "will work with." msgstr "" "ブラケットを使うとdebconf のフィールド中に内部コメントができることに注意して" "ください。コメントの利用は、翻訳作業者が作業するファイルに表示されるのにも注" "意ください。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1333 msgid "" "The comments are needed as the _Default trick is a bit confusing: the " "translators may put their own choice" msgstr "" "_Default を使うやり方は、若干混乱するのでコメントが必要です: 翻訳者は自身の選" "択肢を書きます。" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1341 msgid "" "Do NOT use empty default field. If you don't want to use default values, do " "not use Default at all." msgstr "" "空のデフォルトフィールドを使っては「いけません」。デフォルト値を設定したくな" "いのであれば、Default は使うべきではありません。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1345 msgid "" "If you use po-debconf (and you <emphasis role=\"strong\">should</emphasis>, " "see <xref linkend=\"s6.5.2.2\"/>), consider making this field translatable, " "if you think it may be translated." msgstr "" "po-debconf を使うのであれば (そして <emphasis role=\"strong\">使うべき</" "emphasis> です、<xref linkend=\"s6.5.2.2\"/> 参照)、このフィールドが翻訳でき" "るのであれば、翻訳可能な状態にするのを検討しましょう。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1350 msgid "" "If the default value may vary depending on language/country (for instance " "the default value for a language choice), consider using the special " "_Default type documented in <citerefentry> <refentrytitle>po-debconf</" "refentrytitle> <manvolnum>7</manvolnum> </citerefentry>." msgstr "" "(例えば言語選択のデフォルト値など) デフォルト値が言語/地域に応じて変化するよ" "うであれば 、<citerefentry> <refentrytitle>po-debconf</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> に記載されている特別な _Default 型を" "使うことを考えましょう。" # type: Content of: <chapter><section><title> #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:1362 msgid "Internationalization" msgstr "国際化" #. type: Content of: <chapter><section><para> #: best-pkging-practices.dbk:1364 msgid "" "This section contains global information for developers to make translators' " "life easier. More information for translators and developers interested in " "internationalization are available in the <ulink url=\"&url-i18n-l10n;" "\">Internationalisation and localisation in Debian</ulink> documentation." msgstr "" "この章では、開発者に対して、翻訳作業者の作業がより楽になるようにするための大" "まかな情報を含めています。国際化について興味を持っている翻訳作業者と開発者へ" "の詳細な情報は、<ulink url=\"&url-i18n-l10n;\">Internationalisation and " "localisation in Debian</ulink> で入手できます。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1371 msgid "Handling debconf translations" msgstr "debconf の翻訳を取り扱う" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1373 #, fuzzy msgid "" "Like porters, translators have a difficult task. They work on many packages " "and must collaborate with many different maintainers. Moreover, most of the " "time, they are not native English speakers, so you may need to be " "particularly patient with them." msgstr "" "移植作業者同様に、翻訳作業者は難しい課題を抱えています。多くのパッケージにつ" "いて作業を行い、多くの様々なメンテナと共同作業をする必要があります。さらに" "は、ほとんどの場合、彼らはネイティブな英語話者ではないので、あなたは特に忍耐" "強くあらねばいけないでしょう。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1379 #, fuzzy msgid "" "The goal of <systemitem role=\"package\">debconf</systemitem> was to make " "packages configuration easier for maintainers and for users. Originally, " "translation of debconf templates was handled with <command>debconf-" "mergetemplate</command>. However, that technique is now deprecated; the " "best way to accomplish <systemitem role=\"package\">debconf</systemitem> " "internationalization is by using the <systemitem role=\"package\">po-" "debconf</systemitem> package. This method is easier both for maintainer and " "translators; transition scripts are provided." msgstr "" "<systemitem role=\"package\">debconf</systemitem> のゴールはメンテナとユーザ" "にとってパッケージ設定を簡単にすることでした。元々、debconf テンプレートの翻" "訳は<command>debconf-mergetemplate</command> で行われていました。しかし、この" "やり方は現在は非推奨 (deprecated) です; <systemitem role=\"package" "\">debconf</systemitem> の国際化を行う accomplish 最も良いやり方は、" "<systemitem role=\"package\">po-debconf</systemitem> パッケージを使うことで" "す。このやり方はメンテナと翻訳者の双方にとって、より楽なやり方です; 移行スク" "リプトが提供されています。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1389 msgid "" "Using <systemitem role=\"package\">po-debconf</systemitem>, the translation " "is stored in <filename>.po</filename> files (drawing from <command>gettext</" "command> translation techniques). Special template files contain the " "original messages and mark which fields are translatable. When you change " "the value of a translatable field, by calling <command>debconf-updatepo</" "command>, the translation is marked as needing attention from the " "translators. Then, at build time, the <command>dh_installdebconf</command> " "program takes care of all the needed magic to add the template along with " "the up-to-date translations into the binary packages. Refer to the " "<citerefentry> <refentrytitle>po-debconf</refentrytitle> <manvolnum>7</" "manvolnum> </citerefentry> manual page for details." msgstr "" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1405 msgid "Internationalized documentation" msgstr "ドキュメントの国際化" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1407 #, fuzzy msgid "" "Internationalizing documentation is crucial for users, but a lot of labor. " "There's no way to eliminate all that work, but you can make things easier " "for translators." msgstr "" "ドキュメントの国際化はユーザにとって crucial ですが、多くの労力がかかります。" "この作業をすべて eliminate する方法はありませんが、翻訳作業者を楽にはできま" "す。" # FIXME: source control sysytem -> source control management system (SCM)? #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1412 #, fuzzy msgid "" "If you maintain documentation of any size, it is easier for translators if " "they have access to a source control system. That lets translators see the " "differences between two versions of the documentation, so, for instance, " "they can see what needs to be retranslated. It is recommended that the " "translated documentation maintain a note about what source control revision " "the translation is based on. An interesting system is provided by <ulink " "url=\"&url-i18n-doc-check;\">doc-check</ulink> in the <systemitem role=" "\"package\">debian-installer</systemitem> package, which shows an overview " "of the translation status for any given language, using structured comments " "for the current revision of the file to be translated and, for a translated " "file, the revision of the original file the translation is based on. You " "might wish to adapt and provide that in your VCS area." msgstr "" "どのようなサイズであれドキュメントをメンテナンスしている場合、翻訳作業者が" "ソースコントロールシステムにアクセスできるのであれば、彼らの作業が楽になるで" "しょう。翻訳作業者が、ドキュメントの 2 つのバージョン間の違いを見ることができ" "るので、例えば、何を再翻訳すればいいのかがわかるようになります。翻訳されたド" "キュメントは、翻訳作業がどのソースコントロールリビジョンをベースにしているの" "かという記録を保持しておくことをお勧めします。<systemitem role=\"package" "\">debian-installer</systemitem> パッケージ中の <ulink url=\"&url-i18n-doc-" "check;\">doc-check</ulink> では興味深いシステムが提供されており、これは指定さ" "れたあらゆる言語の翻訳状況の概要を表示し、翻訳すべき現在のリビジョンのファイ" "ルへのusing structured commentsを、、そして翻訳されたファイルについては、翻訳" "がベースにしたオリジナルのファイルのリビジョンを表示します。あなたは自分の " "VCS 領域でこれを導入して利用した方が良いでしょう。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1426 #, fuzzy msgid "" "If you maintain XML or SGML documentation, we suggest that you isolate any " "language-independent information and define those as entities in a separate " "file which is included by all the different translations. This makes it " "much easier, for instance, to keep URLs up to date across multiple files." msgstr "" "XML あるいは SGML のドキュメントをメンテナンスしているのであれば、言語非依存" "の情報を isolate し、それらをすべての異なった翻訳に含まれる分割されたファイル" "にエンティティとして定義した方が良いでしょう。これは、URL を複数のファイル間" "で最新に保つなど、作業をより楽にしてくれます。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1432 msgid "" "Some tools (e.g. <systemitem role=\"package\">po4a</systemitem>, <systemitem " "role=\"package\">poxml</systemitem>, or the <systemitem role=\"package" "\">translate-toolkit</systemitem>) are specialized in extracting the " "translatable material from different formats. They produce PO files, a " "format quite common to translators, which permits to see what needs to be " "retranslated when the translated document is updated." msgstr "" "いくつかのツール (例: <systemitem role=\"package\">po4a</systemitem>、" "<systemitem role=\"package\">poxml</systemitem>、<systemitem role=\"package" "\">translate-toolkit</systemitem>) は異なった形式から翻訳可能な素材を展開する" "のに特化しています。これらは、翻訳作業者には極めて馴染み深い形式である PO " "ファイルを生成します。これによって、翻訳したドキュメントが更新された際に何を" "再翻訳すればよいのかを見ることを可能にしてくれます。" # type: Content of: <chapter><section><title> #. type: Content of: <chapter><section><title> #: best-pkging-practices.dbk:1444 msgid "Common packaging situations" msgstr "パッケージ化に於ける一般的なシチュエーション" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1455 msgid "Packages using <command>autoconf</command>/<command>automake</command>" msgstr "" "<command>autoconf</command>/<command>automake</command> を使っているパッケー" "ジ" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1457 msgid "" "Keeping <command>autoconf</command>'s <filename>config.sub</filename> and " "<filename>config.guess</filename> files up to date is critical for porters, " "especially on more volatile architectures. Some very good packaging " "practices for any package using <command>autoconf</command> and/or " "<command>automake</command> have been synthesized in &file-bpp-autotools; " "from the <systemitem role=\"package\">autotools-dev</systemitem> package. " "You're strongly encouraged to read this file and to follow the given " "recommendations." msgstr "" "<command>autoconf</command> の <filename>config.sub</filename> および " "<filename>config.guess</filename> を最新に保ちつづけるのは、移植作業者、特に" "より移行中の状況であるアーキテクチャの移植作業者にとって非常に重要です。" "<command>autoconf</command> や <command>automake</command> を使うあらゆるパッ" "ケージについてのとても素晴らしいパッケージ化における教訓が <systemitem role=" "\"package\">autotools-dev</systemitem> パッケージの &file-bpp-autotools; にま" "とめられています。このファイルを読んで書かれている推奨に従うことを強くお勧め" "します。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1469 msgid "Libraries" msgstr "ライブラリ" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1471 msgid "" "Libraries are always difficult to package for various reasons. The policy " "imposes many constraints to ease their maintenance and to make sure upgrades " "are as simple as possible when a new upstream version comes out. Breakage " "in a library can result in dozens of dependent packages breaking." msgstr "" "ライブラリは様々な理由から常にパッケージにするのが難しいです。ポリシーは、メ" "ンテナンスに楽にし、新しいバージョンが開発元から出た際にアップグレードを可能" "な限りシンプルであることを確保するため、多くの制約を課しています。ライブラリ" "での破損は、依存している何十ものパッケージの破損を招き得ます。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1477 msgid "" "Good practices for library packaging have been grouped in <ulink url=\"&url-" "libpkg-guide;\">the library packaging guide</ulink>." msgstr "" "ライブラリのパッケージ化の良い作法が <ulink url=\"&url-libpkg-guide;\">the " "library packaging guide</ulink> にまとめられています。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1484 msgid "Documentation" msgstr "ドキュメント化" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1486 msgid "" "Be sure to follow the <ulink url=\"&url-debian-policy;ch-docs.html\">Policy " "on documentation</ulink>." msgstr "" "<ulink url=\"&url-debian-policy;ch-docs.html\">ドキュメント化のポリシー</" "ulink>に忘れず従ってください。" # ship は「出荷」の意味だが、Debian の場合は製品ではないので「リリース」とした # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1491 msgid "" "If your package contains documentation built from XML or SGML, we recommend " "you not ship the XML or SGML source in the binary package(s). If users want " "the source of the documentation, they should retrieve the source package." msgstr "" "あなたのパッケージが XML や SGML から生成されるドキュメントを含んでいる場合、" "XML や SGML のソースをバイナリパッケージに含めてリリースしないことをお勧めし" "ます。ユーザがドキュメントのソースを欲しい場合には、ソースパッケージを引っ" "張ってくれば良いのです。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1496 msgid "" "Policy specifies that documentation should be shipped in HTML format. We " "also recommend shipping documentation in PDF and plain text format if " "convenient and if output of reasonable quality is possible. However, it is " "generally not appropriate to ship plain text versions of documentation whose " "source format is HTML." msgstr "" "ポリシーではドキュメントは HTML 形式でリリースされるべきであると定めていま" "す。我々は、もし手がかからないで問題ない品質の出力が可能であれば、ドキュメン" "トを PDF 形式とテキスト形式でもリリースすることをお勧めしています。ですが、" "ソースの形式が HTML のドキュメントを普通のテキスト版でリリースするのは、大抵" "の場合は適切ではありません。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1503 msgid "" "Major shipped manuals should register themselves with <systemitem role=" "\"package\">doc-base</systemitem> on installation. See the <systemitem role=" "\"package\">doc-base</systemitem> package documentation for more information." msgstr "" "リリースされたメジャーなマニュアルは、インストール時に<systemitem role=" "\"package\">doc-base</systemitem>で登録されるべきです。詳細については、" "<systemitem role=\"package\">doc-base</systemitem> パッケージのドキュメントを" "参照してください。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1509 msgid "" "Debian policy (section 12.1) directs that manual pages should accompany " "every program, utility, and function, and suggests them for other objects " "like configuration files. If the work you are packaging does not have such " "manual pages, consider writing them for inclusion in your package, and " "submitting them upstream." msgstr "" "Debian ポリシー (12.1 章) では、マニュアルページはすべてのプログラム・ユー" "ティリティ・関数に対して付属すべきであり、設定ファイルのようなその他のものに" "ついては付属を提案を示しています。もし、あなたがパッケージングをしているもの" "がそのようなマニュアルページを持っていない場合は、パッケージに含めるために記" "述を行い、開発元 (upstream) へ送付することを検討してください。" # FIXME-Trans: to a lesser extent の訳。 #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1516 msgid "" "The manpages do not need to be written directly in the troff format. " "Popular source formats are Docbook, POD and reST, which can be converted " "using <command>xsltproc</command>, <command>pod2man</command> and " "<command>rst2man</command> respectively. To a lesser extent, the " "<command>help2man</command> program can also be used to write a stub." msgstr "" "manpage は直接 troff 形式で書く必要はありません。よく使われるソース形式は、" "Docbook、POD、reST で、それぞれ <command>xsltproc</command>、" "<command>pod2man</command>、<command>rst2man</command> を使うことで変換できま" "す。少なくとも、スタブを書くために <command>help2man</command> プログラムを使" "うことは可能です。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1525 msgid "Specific types of packages" msgstr "特定の種類のパッケージ" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1527 msgid "" "Several specific types of packages have special sub-policies and " "corresponding packaging rules and practices:" msgstr "" "いくつかの特定の種類のパッケージは、特別なサブポリシーと対応するパッケージ化" "ルールおよびプラクティスを持っています:" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1533 msgid "" "Perl related packages have a <ulink url=\"&url-perl-policy;\">Perl policy</" "ulink>, some examples of packages following that policy are <systemitem role=" "\"package\">libdbd-pg-perl</systemitem> (binary perl module) or <systemitem " "role=\"package\">libmldbm-perl</systemitem> (arch independent perl module)." msgstr "" "Perl 関連パッケージは、<ulink url=\"&url-perl-policy;\">Perl ポリシー</" "ulink> があり、このポリシーに従っているパッケージの例が <systemitem role=" "\"package\">libdbd-pg-perl</systemitem> (バイナリ perl モジュール) または " "<systemitem role=\"package\">libmldbm-perl</systemitem> (アーキテクチャ非依" "存 perl モジュール) です。" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1542 msgid "" "Python related packages have their python policy; see &file-python-policy; " "in the <systemitem role=\"package\">python</systemitem> package." msgstr "" "Python 関連パッケージは、python ポリシーを持っています; <systemitem role=" "\"package\">python</systemitem> パッケージ中の &file-python-policy; を参照し" "てください。" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1549 msgid "" "Emacs related packages have the <ulink url=\"&url-emacs-policy;\">emacs " "policy</ulink>." msgstr "" "Emacs 関連パッケージには、<ulink url=\"&url-emacs-policy;\">emacs ポリシー</" "ulink>があります。" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1556 msgid "" "Java related packages have their <ulink url=\"&url-java-policy;\">java " "policy</ulink>." msgstr "" "Java 関連パッケージには、<ulink url=\"&url-java-policy;\">java ポリシー</" "ulink>があります。" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1563 msgid "" "Ocaml related packages have their own policy, found in &file-ocaml-policy; " "from the <systemitem role=\"package\">ocaml</systemitem> package. A good " "example is the <systemitem role=\"package\">camlzip</systemitem> source " "package." msgstr "" "Ocaml 関連パッケージは、固有のポリシーを持っており、<systemitem role=" "\"package\">ocaml</systemitem> パッケージの &file-ocaml-policy; でみることが" "できます。良い例は <systemitem role=\"package\">camlzip</systemitem> ソース" "パッケージです。" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1571 msgid "" "Packages providing XML or SGML DTDs should conform to the recommendations " "found in the <systemitem role=\"package\">sgml-base-doc</systemitem> package." msgstr "" "XML や SGML DTD を提供しているパッケージは、<systemitem role=\"package" "\">sgml-base-doc</systemitem> パッケージ中の推奨に従わねばなりません。" # type: Content of: <chapter><section><section><itemizedlist><listitem><para> #. type: Content of: <chapter><section><section><itemizedlist><listitem><para> #: best-pkging-practices.dbk:1577 msgid "" "Lisp packages should register themselves with <systemitem role=\"package" "\">common-lisp-controller</systemitem>, about which see &file-lisp-" "controller;." msgstr "" "lisp パッケージは、パッケージ自身を <systemitem role=\"package\">common-lisp-" "controller</systemitem> に登録する必要があります。これについては、&file-lisp-" "controller; を参照してください。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1607 msgid "Architecture-independent data" msgstr "アーキテクチャ非依存のデータ" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1609 msgid "" "It is not uncommon to have a large amount of architecture-independent data " "packaged with a program. For example, audio files, a collection of icons, " "wallpaper patterns, or other graphic files. If the size of this data is " "negligible compared to the size of the rest of the package, it's probably " "best to keep it all in a single package." msgstr "" "大量のアーキテクチャ非依存データがプログラムと共にパッケージ化されるのは、良" "くあることではありません。例えば、音声ファイル、アイコン集、様々な模様の壁" "紙、その他一般的な画像ファイルです。このデータのサイズがパッケージの残りのサ" "イズと比較して取るに足らないのであれば、おそらくは単一パッケージでひとまとめ" "にしておくのがベストでしょう。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1616 msgid "" "However, if the size of the data is considerable, consider splitting it out " "into a separate, architecture-independent package (<filename>_all.deb</" "filename>). By doing this, you avoid needless duplication of the same data " "into eleven or more .debs, one per each architecture. While this adds some " "extra overhead into the <filename>Packages</filename> files, it saves a lot " "of disk space on Debian mirrors. Separating out architecture-independent " "data also reduces processing time of <command>lintian</command> (see <xref " "linkend=\"tools-lint\"/>) when run over the entire Debian archive." msgstr "" "しかし、データのサイズが考えた方が良い程であれば、分かれたアーキテクチャ非依" "存パッケージ (<filename>_all.deb</filename>) に分割するのを考えてください。こ" "れによって、11 あるいはそれ以上の .deb ファイルについて、1アーキテクチャごと" "に同じデータの不必要な重複を避けられます。これは <filename>Packages</" "filename> ファイルに更なるオーバーヘッドを追加しますが、Debian ミラーサーバ上" "で多くのディスク容量を節約します。アーキテクチャ非依存のデータを分割すること" "は、Debian アーカイブ全体に対して実行される <command>lintian</command> の処理" "時間の削減にもつながります (<xref linkend=\"tools-lint\"/> 参照)。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1628 msgid "Needing a certain locale during build" msgstr "ビルド中に特定のロケールが必要" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1630 msgid "" "If you need a certain locale during build, you can create a temporary file " "via this trick:" msgstr "" "ビルド中に特定のロケールを必要とする場合、こんな技を使えば一時ファイルを作成" "できます:" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1634 msgid "" "If you set <varname>LOCPATH</varname> to the equivalent of <filename>/usr/" "lib/locale</filename>, and <varname>LC_ALL</varname> to the name of the " "locale you generate, you should get what you want without being root. " "Something like this:" msgstr "" "<varname>LOCPATH</varname> を <filename>/usr/lib/locale</filename> と同等のも" "のに、そして <varname>LC_ALL</varname> を生成したロケールの名前に設定すれば、" "root にならなくても欲しいものが手に入ります。こんな感じです:" # type: Content of: <chapter><section><section><screen> #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:1639 #, no-wrap msgid "" "LOCALE_PATH=debian/tmpdir/usr/lib/locale\n" "LOCALE_NAME=en_IN\n" "LOCALE_CHARSET=UTF-8\n" "\n" "mkdir -p $LOCALE_PATH\n" "localedef -i $LOCALE_NAME.$LOCALE_CHARSET -f $LOCALE_CHARSET $LOCALE_PATH/$LOCALE_NAME.$LOCALE_CHARSET\n" "\n" "# Using the locale\n" "LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date\n" msgstr "" "LOCALE_PATH=debian/tmpdir/usr/lib/locale\n" "LOCALE_NAME=en_IN\n" "LOCALE_CHARSET=UTF-8\n" "\n" "mkdir -p $LOCALE_PATH\n" "localedef -i $LOCALE_NAME.$LOCALE_CHARSET -f $LOCALE_CHARSET $LOCALE_PATH/$LOCALE_NAME.$LOCALE_CHARSET\n" "\n" "# ロケールを使う\n" "LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date\n" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1652 msgid "Make transition packages deborphan compliant" msgstr "移行パッケージを deboprhan に適合するようにする" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1654 #, fuzzy msgid "" "Deborphan is a program for helping users to detect which packages can safely " "be removed from the system, i.e. the ones that have no packages depending " "on them. The default operation is to search only within the libs and " "oldlibs sections, to hunt down unused libraries. But when passed the right " "argument, it tries to catch other useless packages." msgstr "" "deborphan は、どのパッケージがシステムから安全に削除できるか、ユーザが検出す" "るのを助けてくれるプログラムです; i.e. どのパッケージも依存していないもので" "す。デフォルトの動作は、使われていないライブラリを見つけ出すために libs と " "oldlibs セクションからのみ検索を行います。ですが、正しい引数を渡せば、他の使" "われていないパッケージを捕らえようとします。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1661 msgid "" "For example, with <literal>--guess-dummy</literal>, <command>deborphan</" "command> tries to search all transitional packages which were needed for " "upgrade but which can now safely be removed. For that, it looks for the " "string dummy or transitional in their short description." msgstr "" "例えば、<literal>--guess-dummy</literal> つきだと、<command>deborphan</" "command> はアップグレードに必要ではあったが、現在は問題なく削除できるすべての" "移行パッケージを探そうとします。これには、それぞれの短い説明文中に dummy ある" "いは transitional の文字列を探します。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1668 msgid "" "So, when you are creating such a package, please make sure to add this text " "to your short description. If you are looking for examples, just run: " "<command>apt-cache search .|grep dummy</command> or <command>apt-cache " "search .|grep transitional</command>." msgstr "" "ですので、あなたがそのようなパッケージを作る際には、この文章を短い説明文に必" "ず追加してください。例を探す場合は、以下を実行してください: <command>apt-" "cache search .|grep dummy</command> または <command>apt-cache search .|grep " "transitional</command>" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1674 msgid "" "Also, it is recommended to adjust its section to <literal>oldlibs</literal> " "and its priority to <literal>extra</literal> in order to ease " "<command>deborphan</command>'s job." msgstr "" "それから、<command>deborphan</command> の作業を楽にするため、section を " "<literal>oldlibs</literal>、priority を <literal>extra</literal> にするのもお" "勧めです。" # type: Content of: <chapter><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1683 msgid "Best practices for <filename>.orig.tar.{gz,bz2,xz}</filename> files" msgstr "" "<filename>.orig.tar.{gz,bz2,xz}</filename> についてのベストプラクティス" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1685 #, fuzzy msgid "" "There are two kinds of original source tarballs: Pristine source and " "repackaged upstream source." msgstr "" "オリジナルのソース tarball には 2 種類あります: 素のソース (Pristine source) " "と再パッケージした開発元のソース (repackaged upstream source) です。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1689 #, fuzzy msgid "Pristine source" msgstr "素のソース (Pristine source)" #. type: Content of: <chapter><section><section><section><para><footnote><para> #: best-pkging-practices.dbk:1693 #, fuzzy msgid "" "We cannot prevent upstream authors from changing the tarball they distribute " "without also incrementing the version number, so there can be no guarantee " "that a pristine tarball is identical to what upstream <emphasis>currently</" "emphasis> distributing at any point in time. All that can be expected is " "that it is identical to something that upstream once <emphasis>did</" "emphasis> distribute. If a difference arises later (say, if upstream " "notices that he wasn't using maximal compression in his original " "distribution and then re-<command>gzip</command>s it), that's just too bad. " "Since there is no good way to upload a new <filename>.orig.tar.{gz,bz2,xz}</" "filename> for the same version, there is not even any point in treating this " "situation as a bug." msgstr "" "我々は、開発元の作者が配布している tarball をバージョン番号をインクリメントす" "ることなく変更するのを防ぐことはできません。ですので素の tarball が " "identical 一義的に開発元が<emphasis>現在</emphasis>配布しているもの at any " "point in time である保証はありません。期待できることは、identical 一度は配布" "<emphasis>した</emphasis>ものであるということだけです。違いが arise later (そ" "う、例えば開発元が元々の配布物が最大の圧縮率を使っていなかったことに気づい" "て、再度 <command>gzip</command> しなおした場合)、that's just too bad とても" "悪い。同じバージョンに対して新しい <filename>.orig.tar.{gz,bz2,xz}</" "filename> をアップロードするのには良い方法がないので、even この状況をバグと考" "える点はありません。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1691 msgid "" "The defining characteristic of a pristine source tarball is that the " "<filename>.orig.tar.{gz,bz2,xz}</filename> file is byte-for-byte identical " "to a tarball officially distributed by the upstream author.<placeholder type=" "\"footnote\" id=\"0\"/> This makes it possible to use checksums to easily " "verify that all changes between Debian's version and upstream's are " "contained in the Debian diff. Also, if the original source is huge, " "upstream authors and others who already have the upstream tarball can save " "download time if they want to inspect your packaging in detail." msgstr "" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1711 #, fuzzy msgid "" "There is no universally accepted guidelines that upstream authors follow " "regarding to the directory structure inside their tarball, but <command>dpkg-" "source</command> is nevertheless able to deal with most upstream tarballs as " "pristine source. Its strategy is equivalent to the following:" msgstr "" "tarball 中のディレクトリ構成に関して開発元の作者が従う、万人に受け入れられて" "いるガイドラインというものはありませんが、<command>dpkg-source</command> は " "nevertheless ほとんどの開発元の tarball を素のソース (pristine source) として" "対処できます。そのやり方は以下の通りです:" # type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1719 msgid "It unpacks the tarball in an empty temporary directory by doing" msgstr "以下のようにして空の一時ディレクトリに tarball を展開します" # type: Content of: <chapter><section><section><section><orderedlist><listitem><screen> #. type: Content of: <chapter><section><section><section><orderedlist><listitem><screen> #: best-pkging-practices.dbk:1722 #, no-wrap msgid "zcat path/to/<replaceable>packagename</replaceable>_<replaceable>upstream-version</replaceable>.orig.tar.gz | tar xf -\n" msgstr "zcat path/to/<replaceable>パッケージ名</replaceable>_<replaceable>開発元のバージョン</replaceable>.orig.tar.gz | tar xf -\n" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1727 #, fuzzy msgid "" "If, after this, the temporary directory contains nothing but one directory " "and no other files, <command>dpkg-source</command> renames that directory to " "<filename><replaceable>packagename</replaceable>-<replaceable>upstream-" "version</replaceable>(.orig)</filename>. The name of the top-level " "directory in the tarball does not matter, and is forgotten." msgstr "" "もし、この後で、一時ディレクトリが 1 つのディレクトリ以外含まず他にどのファイ" "ルも無い場合、<command>dpkg-source</command> はそのディレクトリを " "<filename><replaceable>パッケージ名</replaceable>-<replaceable>開発元のバー" "ジョン</replaceable>(.orig)</filename> にリネームします。tarball 中の最上位の" "ディレクトリ名は問題にはされず、忘れられます。" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1736 #, fuzzy msgid "" "Otherwise, the upstream tarball must have been packaged without a common top-" "level directory (shame on the upstream author!). In this case, " "<command>dpkg-source</command> renames the temporary directory " "<emphasis>itself</emphasis> to <filename><replaceable>packagename</" "replaceable>-<replaceable>upstream-version</replaceable>(.orig)</filename>." msgstr "" "それ以外の場合、開発元の tarball は共通の最上位ディレクトリ無しでパッケージさ" "れなくては いけません (開発元の作者よ、恥を知りなさい!)。この場合、" "<command>dpkg-source</command> は一時ディレクトリ<emphasis>そのもの</" "emphasis>を <filename><replaceable>パッケージ名</replaceable>-<replaceable>開" "発元のバージョン</replaceable>(.orig)</filename> へリネームします。" # type: Content of: <chapter><section><section><section><title> #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1747 msgid "Repackaged upstream source" msgstr "upstream のソースをパッケージしなおす" # type: Content of: <chapter><section><section><section><para> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1749 msgid "" "You <emphasis role=\"strong\">should</emphasis> upload packages with a " "pristine source tarball if possible, but there are various reasons why it " "might not be possible. This is the case if upstream does not distribute the " "source as gzipped tar at all, or if upstream's tarball contains non-DFSG-" "free material that you must remove before uploading." msgstr "" "パッケージは素のソース tarball と共にアップロード<emphasis role=\"strong\">す" "べき</emphasis>ですが、それが可能ではない場合が色々とあります。開発元がソース" "を gzip 圧縮した tarball を全く配布していない場合や、upstream の tarball が " "DFSG-free ではない、あなたがアップロード前に削除しなければならない素材を含ん" "でいる場合がこれにあたります。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1756 msgid "" "In these cases the developer must construct a suitable <filename>.orig.tar." "{gz,bz2,xz}</filename> file himself. We refer to such a tarball as a " "repackaged upstream source. Note that a repackaged upstream source is " "different from a Debian-native package. A repackaged source still comes " "with Debian-specific changes in a separate <filename>.diff.gz</filename> or " "<filename>.debian.tar.{gz,bz2,xz}</filename> and still has a version number " "composed of <replaceable>upstream-version</replaceable> and " "<replaceable>debian-version</replaceable>." msgstr "" "この様な場合、開発者は適切な <filename>.orig.tar.{gz,bz2,xz}</filename> ファ" "イルを自身で準備する必要があります。この様な tarball を、再パッケージした開発" "元のソース (repackaged upstream source) と呼びます。再パッケージした開発元の" "ソースでは Debian ネイティブパッケージとは違うことに注意してください。再パッ" "ケージしたソースは、Debian 固有の変更点は分割された <filename>.diff.gz</" "filename> または <filename>.debian.tar.{gz,bz2,xz}</filename> のままであり、" "バージョン番号は <replaceable>開発元のバージョン</replaceable> と " "<replaceable>debian リビジョン</replaceable> から構成されたままです。" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1765 #, fuzzy msgid "" "There may be cases where it is desirable to repackage the source even though " "upstream distributes a <filename>.tar.{gz,bz2,xz}</filename> that could in " "principle be used in its pristine form. The most obvious is if " "<emphasis>significant</emphasis> space savings can be achieved by " "recompressing the tar archive or by removing genuinely useless cruft from " "the upstream archive. Use your own discretion here, but be prepared to " "defend your decision if you repackage source that could have been pristine." msgstr "" "開発元がそのままの形でprinciple 使える <filename>.tar.{gz,bz2,xz}</filename> " "を配布していたとしても再パッケージをしたくなるという場合がありえます。最も明" "白なのは tar アーカイブを再圧縮することや、開発元のアーカイブからgenuinely 使" "われていない cruft を削除することで<emphasis>非常に</emphasis>容量を節約でき" "る時です。Use your own discretion here, ですがbut be prepared to defend your " "decision if you repackage source that could have been pristine." # type: Content of: <chapter><section><title> #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1774 msgid "A repackaged <filename>.orig.tar.{gz,bz2,xz}</filename>" msgstr "" "<filename>.orig.tar.{gz,bz2,xz}</filename> についてのベストプラクティス" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1779 msgid "" "<emphasis role=\"strong\">should</emphasis> be documented in the resulting " "source package. Detailed information on how the repackaged source was " "obtained, and on how this can be reproduced should be provided in " "<filename>debian/copyright</filename>. It is also a good idea to provide a " "<literal>get-orig-source</literal> target in your <filename>debian/rules</" "filename> file that repeats the process, as described in the Policy Manual, " "<ulink url=\"&url-debian-policy;ch-source.html#s-debianrules\">Main building " "script: <filename>debian/rules</filename></ulink>." msgstr "" "ソースパッケージの由来を<emphasis role=\"strong\">ドキュメントにすべき</" "emphasis>です。どうやってソースを得たのかという詳細情報が得たのか、どの様にす" "れば再生成できるのかを <filename>debian/copyright</filename> で提供しましょ" "う。ポリシーマニュアルで、<ulink url=\"&url-debian-policy;ch-source.html#s-" "debianrules\">メイン構築スクリプト: <filename>debian/rules</filename></" "ulink> に記述しているように、<filename>debian/rules</filename> に作業を繰り返" "してくれる <literal>get-orig-source</literal> ターゲットを追加するのも良い考" "えです。" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para><footnote><para> #: best-pkging-practices.dbk:1794 #, fuzzy msgid "" "As a special exception, if the omission of non-free files would lead to the " "source failing to build without assistance from the Debian diff, it might be " "appropriate to instead edit the files, omitting only the non-free parts of " "them, and/or explain the situation in a <filename>README.source</filename> " "file in the root of the source tree. But in that case please also urge the " "upstream author to make the non-free components easier separable from the " "rest of the source." msgstr "" "特別な例外として、non-free なファイルが Debian diff からの助けが無いとソース" "からのビルド失敗を引き起こす場合、適切な処置はファイルを編集するのではなく、" "non-free な部分を削除して、ソースツリーのルートに <filename>README.source</" "filename> ファイルとして状況を説明することです。ですがその場合、開発元の作者" "に non-free なコンポーネントを残りのソースから分離しやすくするように urge も" "してください。" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1792 msgid "" "<emphasis role=\"strong\">should not</emphasis> contain any file that does " "not come from the upstream author(s), or whose contents has been changed by " "you.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "開発元の作者由来ではないファイルや、あなたが内容を変更したファイルを含める" "<emphasis role=\"strong\">べきではありません</emphasis>。<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1805 msgid "" "<emphasis role=\"strong\">should</emphasis>, except where impossible for " "legal reasons, preserve the entire building and portablility infrastructure " "provided by the upstream author. For example, it is not a sufficient reason " "for omitting a file that it is used only when building on MS-DOS. " "Similarly, a <filename>Makefile</filename> provided by upstream should not " "be omitted even if the first thing your <filename>debian/rules</filename> " "does is to overwrite it by running a configure script." msgstr "" "法的理由から不可能であるものを除いて、開発元の作者が提供しているビルドおよび" "移植作業環境を完全に<emphasis role=\"strong\">保全すべき</emphasis>です。例え" "ば、ファイルを省略する理由として MS-DOS でのビルドにしか使われないから、とい" "うのは十分な理由にはなりません。同様に、開発元から提供されている " "<filename>Makefile</filename> を省略すべきではありません。たとえ " "<filename>debian/rules</filename> が最初にすることが configure スクリプトを実" "行してそれを上書きすることであったとしても、です。" # type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1814 msgid "" "(<emphasis>Rationale:</emphasis> It is common for Debian users who need to " "build software for non-Debian platforms to fetch the source from a Debian " "mirror rather than trying to locate a canonical upstream distribution point)." msgstr "" "(<emphasis>理由:</emphasis> Debian 以外のプラットフォームのためにソフト" "ウェアをビルドする必要がある Debian ユーザが、開発元の一次配布先を探そうとせ" "ずに Debian ミラーからソースを取得する、というのは普通です)。" # FIXME-trans: pristine の訳 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1821 #, fuzzy msgid "" "<emphasis role=\"strong\">should</emphasis> use " "<filename><replaceable>packagename</replaceable>-<replaceable>upstream-" "version</replaceable>.orig</filename> as the name of the top-level directory " "in its tarball. This makes it possible to distinguish pristine tarballs " "from repackaged ones." msgstr "" "tarball の最上位ディレクトリの名前として <filename><replaceable>パッケージ名" "</replaceable>-<replaceable>開発元のバージョン</replaceable>.orig</filename> " "を<emphasis role=\"strong\">使うべき</emphasis>です。これは、大元の tarball " "と再パッケージしたものを判別できるようにしてくれます。" #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para> #: best-pkging-practices.dbk:1829 msgid "" "<emphasis role=\"strong\">should</emphasis> be gzipped or bzipped with " "maximal compression." msgstr "" "gzip あるいは bzip で最大限<emphasis role=\"strong\">圧縮されるべき</" "emphasis>です。" #. type: Content of: <chapter><section><section><section><title> #: best-pkging-practices.dbk:1836 msgid "Changing binary files" msgstr "バイナリファイルの変更" #. type: Content of: <chapter><section><section><section><para> #: best-pkging-practices.dbk:1838 msgid "" "Sometimes it is necessary to change binary files contained in the original " "tarball, or to add binary files that are not in it. This is fully supported " "when using source packages in “3.0 (quilt)” format, see the " "<citerefentry><refentrytitle>dpkg-source</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> manual page for details. When using the older " "format “1.0”, binary files can't be stored in the <filename>.diff.gz</" "filename> so you must store an <command>uuencode</command>d (or similar) " "version of the file(s) and decode it at build time in <filename>debian/" "rules</filename> (and move it in its official location)." msgstr "" "オリジナルの tarball に含まれているバイナリファイルを変更する、あるいは存在し" "ていなかったバイナリファイルを追加する必要がある場合がしばしばあります。これ" "は、ソースパッケージが“3.0 (quilt)”形式を使っている場合は完全にサポートされて" "います。詳細は <citerefentry><refentrytitle>dpkg-source</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> マニュアルのページを参" "照してください。古い“1.0”形式を使っている場合、バイナリファイルを <filename>." "diff.gz</filename> 中に保存できないので、<command>uuencode</command> (か類似" "のもの) を使ったファイルを保存し、<filename>debian/rules</filename> 中でビル" "ド時にデコードします (そしてファイルを正しい位置へ移動する)。" # type: Content of: <chapter><section><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1853 msgid "Best practices for debug packages" msgstr "デバッグパッケージのベストプラクティス" # FIXME-trans: otherwise? #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1855 msgid "" "A debug package is a package with a name ending in -dbg, that contains " "additional information that <command>gdb</command> can use. Since Debian " "binaries are stripped by default, debugging information, including function " "names and line numbers, is otherwise not available when running " "<command>gdb</command> on Debian binaries. Debug packages allow users who " "need this additional debugging information to install it, without bloating a " "regular system with the information." msgstr "" "デバッグパッケージは名前が -dbg で終わっているもので、<command>gdb</command> " "が利用可能な追加情報を含んでいます。Debian のバイナリはデフォルトで strip さ" "れているので、関数名や行番号を含むデバッグ情報は、Debian のバイナリに " "<command>gdb</command> を走らせたときに利用できません。デバッグパッケージは、" "この追加デバッグ情報を必要とするユーザが、通常のシステムを巨大化させること無" "く使えるようにしてくれます。" # type: Content of: <chapter><section><section><para> #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1863 msgid "" "It is up to a package's maintainer whether to create a debug package or " "not. Maintainers are encouraged to create debug packages for library " "packages, since this can aid in debugging many programs linked to a " "library. In general, debug packages do not need to be added for all " "programs; doing so would bloat the archive. But if a maintainer finds that " "users often need a debugging version of a program, it can be worthwhile to " "make a debug package for it. Programs that are core infrastructure, such as " "apache and the X server are also good candidates for debug packages." msgstr "" "デバッグパッケージを作るか否かは、パッケージのメンテナ次第です。メンテナは、" "ライブラリパッケージについてデバッグパッケージを作成するのが推奨されていま" "す。これは、ライブラリにリンクしている沢山のプログラムをデバッグする助けにな" "るからです。一般的に言って、デバッグパッケージはすべてのプログラムに追加する" "必要はありません; これを行うとアーカイブが巨大なものになるでしょう。しかし、" "メンテナは、ユーザがデバッグ版のプログラムを頻繁に必要とするのに気づいた場" "合、デバッグパッケージを作るのに値するでしょう。インフラストラクチャの核と" "なっている、apache や X サーバのようプログラムも、デバッグパッケージの良い作" "成候補です。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1873 #, fuzzy msgid "" "Some debug packages may contain an entire special debugging build of a " "library or other binary, but most of them can save space and build time by " "instead containing separated debugging symbols that <command>gdb</command> " "can find and load on the fly when debugging a program or library. The " "convention in Debian is to keep these symbols in <filename>/usr/lib/debug/" "<replaceable>path</replaceable></filename>, where <replaceable>path</" "replaceable> is the path to the executable or library. For example, " "debugging symbols for <filename>/usr/bin/foo</filename> go in <filename>/usr/" "lib/debug/usr/bin/foo</filename>, and debugging symbols for <filename>/usr/" "lib/libfoo.so.1</filename> go in <filename>/usr/lib/debug/usr/lib/libfoo." "so.1</filename>." msgstr "" "デバッグパッケージのうちいくつかは、ライブラリあるいは他のバイナリの完全に特" "別なデバッグビルドを含むでしょうが、それらの大半は容量やビルドする時間を節約" "でき、<filename>/usr/lib/debug/<replaceable>path</replaceable></filename> " "で、<replaceable>path</replaceable> は実行ファイルかライブラリへのパスになり" "ます。例えば、<filename>/usr/bin/foo</filename> のデバッグシンボルは " "<filename>/usr/lib/debug/usr/bin/foo</filename> に行き、<filename>/usr/lib/" "libfoo.so.1</filename> のデバッグシンボルは <filename>/usr/lib/debug/usr/lib/" "libfoo.so.1</filename> になります。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1885 #, fuzzy msgid "" "The debugging symbols can be extracted from an object file using " "<command>objcopy --only-keep-debug</command>. Then the object file can be " "stripped, and <command>objcopy --add-gnu-debuglink</command> used to specify " "the path to the debugging symbol file. <citerefentry> " "<refentrytitle>objcopy</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> explains in detail how this works." msgstr "" "デバッグシンボルは <command>objcopy --only-keep-debug</command> を使ってオブ" "ジェクトファイルから展開できます。それからオブジェクトファイルは strip するこ" "とができ、<command>objcopy --add-gnu-debuglink</command> がデバッグシンボル" "ファイルへのパスを指定するのに使われます。<citerefentry> " "<refentrytitle>objcopy</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> で、これがどの様に動作するのかを詳細に説明しています。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1893 #, fuzzy msgid "" "The <command>dh_strip</command> command in <systemitem role=\"package" "\">debhelper</systemitem> supports creating debug packages, and can take " "care of using <command>objcopy</command> to separate out the debugging " "symbols for you. If your package uses <systemitem role=\"package" "\">debhelper</systemitem>, all you need to do is call <command>dh_strip --" "dbg-package=libfoo-dbg</command>, and add an entry to <filename>debian/" "control</filename> for the debug package." msgstr "" "<systemitem role=\"package\">debhelper</systemitem> 中の <command>dh_strip</" "command> コマンドが、デバッグパッケージの作成をサポートして、デバッグシンボル" "を分離するのに <command>objcopy</command> の利用を楽にしてくれます。あなたの" "パッケージが <systemitem role=\"package\">debhelper</systemitem> を使っている" "場合、あなたがする必要があるのは <command>dh_strip --dbg-package=libfoo-dbg</" "command> を呼び出し、<filename>debian/control</filename> にデバッグパッケージ" "のエントリを追加することだけです。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1900 msgid "" "Note that the debug package should depend on the package that it provides " "debugging symbols for, and this dependency should be versioned. For example:" msgstr "" "デバッグパッケージは、そのパッケージがデバッグシンボルを提供するパッケージに" "依存する必要があり、この依存関係はバージョン指定が必要であるということに注意" "してください。以下のような例になります:" # type: Content of: <chapter><section><section><screen> #. type: Content of: <chapter><section><section><screen> #: best-pkging-practices.dbk:1904 #, no-wrap msgid "Depends: libfoo (= ${binary:Version})\n" msgstr "Depends: libfoo (= ${binary:Version})\n" # type: Content of: <chapter><section><title> #. type: Content of: <chapter><section><section><title> #: best-pkging-practices.dbk:1908 msgid "Best practices for meta-packages" msgstr "メタパッケージのベストプラクティス" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1910 msgid "" "A meta-package is a mostly empty package that makes it easy to install a " "coherent set of packages that can evolve over time. It achieves this by " "depending on all the packages of the set. Thanks to the power of APT, the " "meta-package maintainer can adjust the dependencies and the user's system " "will automatically get the supplementary packages. The dropped packages that " "were automatically installed will be also be marked as removal candidates " "(and are even automatically removed by <command>aptitude</command>). " "<systemitem role=\"package\">gnome</systemitem> and <systemitem role=" "\"package\">linux-image-amd64</systemitem> are two examples of meta-packages " "(built by the source packages <systemitem role=\"package\">meta-gnome2</" "systemitem> and <systemitem role=\"package\">linux-latest</systemitem>)." msgstr "" "メタパッケージは、evolve overtime なcoherent set のパッケージをインストールす" "るのを楽にしてくれる、ほぼ空のパッケージです。そのセットの全パッケージに依存" "することで、これを実現しています。APT の力のおかげで、メタパッケージのメンテ" "ナは依存関係を調整すればユーザのシステムが自動的に追加パッケージを得ることが" "できます。自動的にインストールされていてメタパッケージから落とされたパッケー" "ジは、削除候補としてマークされます (そして <command>aptitude</command> によっ" "て自動的に削除もされます)。<systemitem role=\"package\">gnome</systemitem> " "と <systemitem role=\"package\">linux-image-amd64</systemitem> は、メタパッ" "ケージの 2 つの例です (ソースパッケージ <systemitem role=\"package\">meta-" "gnome2</systemitem> and <systemitem role=\"package\">linux-latest</" "systemitem> から生成されています)。" #. type: Content of: <chapter><section><section><para> #: best-pkging-practices.dbk:1924 msgid "" "The long description of the meta-package must clearly document its purpose " "so that the user knows what he will lose if he removes the package. Being " "explicit about the consequences is recommended. This is particularly " "important for meta-packages which are installed during initial installation " "and that have not been explicitly installed by the user. Those tend to be " "important to ensure smooth system upgrades and the user should be " "discouraged from uninstalling them to avoid potential breakages." msgstr "" "メタパッケージの長い説明文は、目的を明確に記述している必要があります。これに" "よって、ユーザはもしそのパッケージを削除した場合に何を失うことになるのかを知" "ることができます。のちの影響について明示的にするのもお勧めです。これは、初回" "のインストール時にインストールされており、ユーザが明示的にインストールしたわ" "けではないメタパッケージにとって、特に重要です。システムのアップグレードをス" "ムースに保証するのに重要になり、潜在的な破損をさけるためにユーザに対してアン" "インストールする気をなくさせることでしょう。"