calibre - en to ja translation catalogue (102 entries)

en: Setting up a calibre development environment
ja: calibre 開発環境の構築

en: calibre is completely open source, licensed under the `GNU GPL v3 <https://www.gnu.org/licenses/gpl.html>`_. This means that you are free to download and modify the program to your heart's content. In this section, you will learn how to get a calibre development environment set up on the operating system of your choice. calibre is written primarily in `Python <https://www.python.org>`_ with some C/C++ code for speed and system interfacing. Note that calibre requires at least Python 3.8.
ja: calibre は完全にオープンソースであり、 `GNU GPL v3 <https://www.gnu.org/licenses/gpl.html>`_ のもとにライセンスされています。これは自由にプログラムをダウンロードして、思う存分変更できることを意味します。この章では、選んだ OS 上で calibre の開発環境を構築するにはどうすればよいかを学べます。calibre は主に `Python <https://www.python.org>`_で書かれており、一部は速度とシステムインタフェースのために C/C++ のコードで書かれています。calibre には Python 3.8 以上が必要です。

en: Contents
ja: 目次

en: Design philosophy
ja: 設計の哲学

en: calibre has its roots in the Unix world, which means that its design is highly modular. The modules interact with each other via well defined interfaces. This makes adding new features and fixing bugs in calibre very easy, resulting in a frenetic pace of development. Because of its roots, calibre has a comprehensive command line interface for all its functions, documented in :doc:`generated/en/cli-index`.
ja: calibre のルーツは UNIX の世界にあります。つまり、その設計は高度にモジュール化されています。モジュールは明確に定義されたインタフェースを介して互いにコミュニケーションをとります。これによって calibre に新しい機能を追加してバグを修正することが容易になり、開発のペースが大きく向上します。このルーツのおかげで、calibre にはすべての機能に対して包括的なコマンドラインが備わっています。コマンドラインについては、:doc:`generated/ja/cli-index` を参照してください。

en: The modular design of calibre is expressed via ``Plugins``. There is a :ref:`tutorial <customize>` on writing calibre plugins. For example, adding support for a new device to calibre typically involves writing less than a 100 lines of code in the form of a device driver plugin. You can browse the `built-in drivers <https://github.com/kovidgoyal/calibre/tree/master/src/calibre/devices>`_. Similarly, adding support for new conversion formats involves writing input/output format plugins. Another example of the modular design is the :ref:`recipe system <news>` for fetching news. For more examples of plugins designed to add features to calibre, see the `Index of plugins <https://www.mobileread.com/forums/showthread.php?p=1362767#post1362767>`_.
ja: calibre のモジュール化された設計は、``プラグイン`` の形で表されます。calibre のプラグイン作成に関しては :ref:`チュートリアル <customize>` があります。たとえば calibre に新しいデバイスを追加するためには、通常はデバイスドライバプラグインの形で 100 行未満くらいのコードを書く必要があります。 `ビルトインドライバ <https://github.com/kovidgoyal/calibre/tree/master/src/calibre/devices>`_ を参照できます。同様に、新しい形式への変換をサポートしたい場合にも、その形式の入力/出力プラグインを書く必要があります。モジュール化された設計のもうひとつの例は、ニュース取得の :ref:`レシピシステム <news>` です。calibre に機能追加するために設計されたプラグインのその他の例については、`プラグイン目録 <https://www.mobileread.com/forums/showthread.php?p=1362767#post1362767>`_を参照してください。

en: Code layout
ja: コードレイアウト

en: All the calibre Python code is in the ``calibre`` package. This package contains the following main sub-packages
ja: calibreのPythonコードはすべて ``calibre`` パッケージに含まれています。このパッケージには、以下の主要なサブパッケージが含まれています。

en: devices - All the device drivers. Just look through some of the built-in drivers to get an idea for how they work.
ja: devices - すべてのデバイスドライバ。ビルトインドライバのいくつかを調べて、どのように機能するかを調べてみてください。

en: For details, see: ``devices.interface`` which defines the interface supported by device drivers and ``devices.usbms`` which defines a generic driver that connects to a USBMS device. All USBMS based drivers in calibre inherit from it.
ja: 詳しくは、デバイスドライバがサポートするインタフェースを定義する ``devices.interface`` および USBMS デバイスに接続する汎用ドライバを定義する ``devices.usbms`` を参照してください。calibre のすべての USBMS ベースのドライバは、これを継承しています。

en: e-books  - All the e-book conversion/metadata code. A good starting point is ``calibre.ebooks.conversion.cli`` which is the module powering the :command:`ebook-convert` command. The conversion process is controlled via ``conversion.plumber``. The format independent code is all in ``ebooks.oeb`` and the format dependent code is in ``ebooks.format_name``.
ja: e-books - すべての電子書籍変換/書誌のコード。:command:`ebook-convert` コマンドを起動するモジュールである ``calibre.ebooks.conversion.cli`` から始めるとよいでしょう。変換処理は ``conversion.plumber`` を介して行われます。形式に依存しないコードはすべて ``ebooks.oeb`` にあり、形式依存のコードは ``ebooks.format_name`` にあります。

en: Metadata reading, writing, and downloading is all in ``ebooks.metadata``
ja: 書誌の読み書き、およびダウンロードはすべて ``ebooks.metadata`` にあります。

en: Conversion happens in a pipeline, for the structure of the pipeline, see :ref:`conversion-introduction`. The pipeline consists of an input plugin, various transforms and an output plugin. The code that constructs and drives the pipeline is in :file:`plumber.py`. The pipeline works on a representation of an e-book that is like an unzipped epub, with manifest, spine, toc, guide, html content, etc. The class that manages this representation is OEBBook in ``ebooks.oeb.base``. The various transformations that are applied to the book during conversions live in :file:`oeb/transforms/*.py`. And the input and output plugins live in :file:`conversion/plugins/*.py`.
ja: 変換はパイプラインで行われます。パイプラインの構造については :ref:`conversion-introduction` を参照してください。パイプラインは、入力プラグイン、種々の変換、および出力プラグインで構成されています。パイプラインを構築して動かすコードは :file:`plumber.py` にあります。パイプラインは電子書籍の中身に対して機能します。中身とは、たとえばマニフェスト、スパイン、目次、ガイド、HTML コンテンツなどを含む、解凍された EPUB のことです。この中身を管理するクラスは、``ebooks.oeb.base`` にある OEBBook です。変換中に本に対して施される種々の変形は、:file:`oeb/transforms/*.py` にあります。また入力および出力プラグインは :file:`conversion/plugins/*.py` にあります。

en: E-book editing happens using a different container object. It is documented in :ref:`polish_api`.
ja: 電子書籍の編集は、別のコンテナオブジェクトを用いて行われます。これは :ref:`polish_api` に記載されています。

en: db - The database back-end. See :ref:`db_api` for the interface to the calibre library.
ja: db - データベースのバックエンド。calibre ライブラリへのインタフェースは :ref:`db_api` を参照してください。

en: Content server: ``srv`` is the calibre Content server.
ja: コンテンツサーバ: ``srv`` は calibre コンテンツサーバです。

en: gui2 - The Graphical User Interface. GUI initialization happens in ``gui2.main`` and ``gui2.ui``. The e-book-viewer is in ``gui2.viewer``. The e-book editor is in ``gui2.tweak_book``.
ja: gui2 - グラフィカルユーザインタフェース。GUI の初期化は ``gui2.main`` と ``gui2.ui`` で行われます。電子書籍ビューアは ``gui2.viewer`` にあります。電子書籍エディタは ``gui2.tweak_book`` にあります。

en: If you want to locate the entry points for all the various calibre executables, look at the ``entry_points`` structure in `linux.py <https://github.com/kovidgoyal/calibre/blob/master/src/calibre/linux.py>`_.
ja: calibre のさまざまな実行可能ファイルすべてのエントリポイントを探したい場合は、 `linux.py <https://github.com/kovidgoyal/calibre/blob/master/src/calibre/linux.py>`_ の ``entry_points`` 構造体を確認してください。

en: If you need help understanding the code, post in the `development forum <https://www.mobileread.com/forums/forumdisplay.php?f=240>`_ and you will most likely get help from one of calibre's many developers.
ja: コードの理解に手助けが必要な場合には、 `開発フォーラム <https://www.mobileread.com/forums/forumdisplay.php?f=240>`_ に投稿してください。おそらく数多くの calibre 開発者の中から誰かが手を貸してくれるでしょう。

en: Getting the code
ja: コードを入手

en: You can get the calibre source code in two ways, using a version control system or directly downloading a :website_base:`tarball <dist/src>`.
ja: calibre のソースコードを入手する方法は 2 つあります。バージョン管理システムを利用する方法と、直接 :website_base:`tarball <dist/src>` をダウンロードする方法です。

en: calibre uses `Git <https://www.git-scm.com/>`_, a distributed version control system. Git is available on all the platforms calibre supports.  After installing Git, you can get the calibre source code with the command::
ja: calibre は分散バージョン管理システムである `Git <https://www.git-scm.com/>`_ を使用しています。Git は calibre がサポートしているすべてのプラットフォーム上で利用可能です。Git をインストールした後、次のコマンドで calibre のソースコードを入手できます::

en: On Windows you will need the complete path name, that will be something like :file:`C:\\Program Files\\Git\\git.exe`.
ja: Windows では :file:`C:\\Program Files\\Git\\git.exe` のような完全なパス名が必要です。

en: calibre is a very large project with a very long source control history, so the above can take a while (10 mins to an hour depending on your internet speed).
ja: calibre は非常に大規模なプロジェクトであり、ソース管理の履歴も長いため、上記には時間がかかる場合があります (インターネットの速度に応じて 10 分から 1 時間)。

en: If you want to get the code faster, the source code for the latest release is always available as an :website_base:`archive <dist/src>`.
ja: コードの入手に時間をかけたくない場合は、最新リリースのソースコードはいつでも :website_base:`archive <dist/src>` で入手可能です。

en: To update a branch to the latest code, use the command::
ja: ブランチを最新のコードに更新するには、次のコマンドを使用します::

en: You can also browse the code at `GitHub <https://github.com/kovidgoyal/calibre>`_.
ja: コードを `GitHub <https://github.com/kovidgoyal/calibre>`_ で参照することもできます。

en: Submitting your changes to be included
ja: 変更を取り入れてもらうために投稿

en: If you only plan to make a few small changes, you can make your changes and create a "merge directive" which you can then attach to a ticket in the calibre `bug tracker <https://bugs.launchpad.net/calibre>`_. To do this, make your changes, then run::
ja: もしいくつかのちょっとした変更を行いたいだけなら、変更を加えてマージディレクティブを作成し、それを calibre の `バグトラッカー <https://bugs.launchpad.net/calibre>`_ のチケットに添付することができます。それを行うには、変更を加えてから、次のように実行します::

en: This will create a :file:`my-changes` file in the current folder, simply attach that to a ticket on the calibre `bug tracker <https://bugs.launchpad.net/calibre>`_. Note that this will include *all* the commits you have made. If you only want to send some commits, you have to change ``origin/master`` above. To send only the last commit, use::
ja: これは現在のフォルダに :file:`my-changes` ファイルを作成し、calibre `バグトラッカー <https://bugs.launchpad.net/calibre>`_ のチケットにそれを添付します。ただしこれは、コミットしたもの *すべて* を含めます。一部のコミットのみを送信したい場合には、上の ``origin/master`` を変更する必要があります。最後のコミットのみを送信するには、次のようにします::

en: To send the last *n* commits, replace *1* with *n*, for example, for the last 3 commits::
ja: 最後の *n* 個のコミットを送信するには、*1* を *n* に変更します。たとえば最後の 3 コミットの場合には次のようにします::

en: Be careful to not include merges when using ``HEAD~n``.
ja: ``HEAD~n`` を使用するときにはマージを含めないよう注意してください。

en: If you plan to do a lot of development on calibre, then the best method is to create a `GitHub <https://github.com>`__ account. Below is a basic guide to setting up your own fork of calibre in a way that will allow you to submit pull requests for inclusion into the main calibre repository:
ja: calibre で多くの開発を行うつもりであれば、最良の方法は `GitHub <https://github.com>`_ アカウントを作成することです。下に示す基本的なガイドに従ってフォークを作成すれば、メインの calibre リポジトリにプルリクエストを送れるようになります:

en: Setup git on your machine as described in this article: `Setup Git <https://help.github.com/articles/set-up-git>`_
ja: 次の記事に従ってマシン上に Git を準備します: `Setup Git <https://help.github.com/articles/set-up-git>`_

en: Setup ssh keys for authentication to GitHub, as described here: `Generating SSH keys <https://help.github.com/articles/generating-ssh-keys>`_
ja: GitHub の認証用に SSH の鍵を `Generating SSH keys <https://help.github.com/articles/generating-ssh-keys>`_ の説明に従って用意します

en: Go to https://github.com/kovidgoyal/calibre and click the :guilabel:`Fork` button.
ja: https://github.com/kovidgoyal/calibre へ行き、:guilabel:`Fork` ボタンをクリックします。

en: In a Terminal do::
ja: ターミナルで次を実行します::

en: Replace <username> above with your GitHub username. That will get your fork checked out locally.
ja: 上の <username> は GitHub のユーザ名で置き換えてください。これでフォークがローカルにチェックアウトされます。

en: You can make changes and commit them whenever you like. When you are ready to have your work merged, do a::
ja: いつでも好きなときに変更を加えてコミットできます。作業したものがマージできるようになったら、次のようにします::

en: and go to ``https://github.com/<username>/calibre`` and click the :guilabel:`Pull Request` button to generate a pull request that can be merged.
ja: そして ``https://github.com/<username>/calibre`` に行き、:guilabel:`Pull Request` ボタンをクリックしてマージできるようプルリクエストを発行します。

en: You can update your local copy with code from the main repo at any time by doing::
ja: 次の手順を実行することで、メインのリポジトリからのコードでローカルコピーを更新できます::

en: You should also keep an eye on the calibre `development forum <https://www.mobileread.com/forums/forumdisplay.php?f=240>`_. Before making major changes, you should discuss them in the forum or contact Kovid directly (his email address is all over the source code).
ja: また、 `開発フォーラム <https://www.mobileread.com/forums/forumdisplay.php?f=240>`_ にも注目しておくべきです。大きな変更を加える前に、フォーラムで話し合うか、または直接 Kovid に連絡してください。 (メールアドレスはソースコードのいたるところに埋めこまれています)

en: Windows development environment
ja: Windows 開発環境

en: You must also get the calibre source code separately as described above.
ja: 上で説明したように calibre のソースコードを別に入手する必要があります。

en: Install calibre normally, using the `Windows installer <https://calibre-ebook.com/download_windows>`__. Then open a Command Prompt and change to the previously checked out calibre code folder. For example::
ja: `Windows インストーラ <https://calibre-ebook.com/download_windows>`__ を使用して通常どおりにインストールします。次にコマンドプロンプトを開き、先にチェックアウトしておいた calibre のコードに移動します。例::

en: calibre is the folder that contains the src and resources sub-folders.
ja: calibre は src と resources サブフォルダを含むフォルダです。

en: The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to the absolute path of the src folder. So, following the example above, it would be ``C:\Users\kovid\work\calibre\src``. `Here is a short guide <https://docs.python.org/using/windows.html#excursus-setting-environment-variables>`_ to setting environment variables on Windows.
ja: 次のステップは、環境変数 ``CALIBRE_DEVELOP_FROM`` に src フォルダの絶対パスを設定することです。上の例では ``C:\Users\kovid\work\calibre\src`` になります。Windows 上での環境変数の設定方法は、 `こちらのガイド <https://docs.python.org/using/windows.html#excursus-setting-environment-variables>`_ を参照してください。

en: Once you have set the environment variable, open a new command prompt and check that it was correctly set by using the command::
ja: 環境変数を設定したらコマンドプロンプトを開き、正しく設定されていることを確認するために次のコマンドを実行します::

en: Setting this environment variable means that calibre will now load all its Python code from the specified location.
ja: この環境変数を設定すると、calibre はすべての Python コードを指定された場所からロードするようになります。

en: That's it! You are now ready to start hacking on the calibre code. For example, open the file :file:`src\\calibre\\__init__.py` in your favorite editor and add the line::
ja: これでおしまいです。calibre コードのハックを開始できるようになりました。たとえば :file:`src\\calibre\\__init__.py` ファイルを好みのエディタで開き、次の行をファイルの先頭近くに追加します::

en: near the top of the file. Now run the command :command:`calibredb`. The very first line of output should be ``Hello, world!``.
ja: 次に :command:`calibredb` コマンドを実行します。最初の行の出力は ``Hello, world!`` となるでしょう。

en: You can also setup a calibre development environment inside the free Microsoft Visual Studio, if you like, following the instructions `here <https://www.mobileread.com/forums/showthread.php?t=251201>`_.
ja: 必要に応じて calibre 開発環境を無償の Microsoft Visual Studio にセットアップすることも可能です。 `こちら <https://www.mobileread.com/forums/showthread.php?t=251201>`_ の手順に従ってください。

en: macOS development environment
ja: macOS 開発環境

en: Install calibre normally using the `provided .dmg <https://calibre-ebook.com/download_osx>`__. Then open a Terminal and change to the previously checked out calibre code folder, for example::
ja: `提供された .dmg <https://calibre-ebook.com/download_osx>`__ を使用して通常どおりに calibre をインストールします。次にターミナルを開いて、先にチェックアウトしておいた calibre のコードのフォルダに移動します。例::

en: calibre is the folder that contains the src and resources sub-folders. The calibre command line tools are found inside the calibre app bundle, in :file:`/Applications/calibre.app/Contents/MacOS` you should add this folder to your PATH environment variable, if you want to run the command line tools easily.
ja: calibre は src と resources サブフォルダを含むフォルダです。calibre のコマンドラインツールは calibre アプリのバンドルの中の :file:`/Applications/calibre.app/Contents/MacOS` にあります。コマンドラインツールを簡単に実行するには、このフォルダを環境変数 PATH に追加する必要があります。

en: The next step is to create a bash script that will set the environment variable ``CALIBRE_DEVELOP_FROM`` to the absolute path of the src folder when running calibre in debug mode.
ja: 次のステップは、calibre をデバッグモードで実行するときに環境変数 ``CALIBRE_DEVELOP_FROM`` に src フォルダの絶対パスを設定するための bash スクリプトを作成することです。

en: Create a plain text file::
ja: プレーンテキストファイルを作成します::

en: Save this file as :file:`/usr/local/bin/calibre-develop`, then set its permissions so that it can be executed::
ja: これを :file:`/usr/local/bin/calibre-develop` という名前のファイルに保存し、実行権を付与します::

en: Once you have done this, run::
ja: それが終わったら、実行します::

en: You should see some diagnostic information in the Terminal window as calibre starts up, and you should see an asterisk after the version number in the GUI window, indicating that you are running from source.
ja: calibre が開始されるとターミナルウィンドウに診断情報が表示されます。GUI ウィンドウにはバージョン番号の後ろにアスタリスクが表示され、ソースから実行していることを示します。

en: Linux development environment
ja: Linux 開発環境

en: calibre is primarily developed on Linux. You have two choices in setting up the development environment. You can install the calibre binary as normal and use that as a runtime environment to do your development. This approach is similar to that used in Windows and macOS. Alternatively, you can install calibre from source. Instructions for setting up a development environment from source are in the INSTALL file in the source tree. Here we will address using the binary as a runtime, which is the recommended method.
ja: calibre は主に Linux 上で開発されています。開発環境の構築には、2 つの選択肢があります。calibre のバイナリを通常どおりインストールして、それを開発用のランタイム環境として使用することができます。この手法は Windows や macOS で使われるものとよく似ています。もうひとつの方法は、calibre をソースからインストールすることです。ソースから開発環境を構築する手順はソースツリーの中の INSTALL ファイルにあります。ここではバイナリをランタイムとして使用する方法を取り上げます。こちらが推奨される方法です。

en: Install calibre using the `binary installer <https://calibre-ebook.com/download_linux>`_. Then open a terminal and change to the previously checked out calibre code folder, for example::
ja: `バイナリインストーラ <https://calibre-ebook.com/download_linux>`_ を使用して calibre を通常どおりにインストールします。次にターミナルを開き、先にチェックアウトしておいた calibre のコードのフォルダに移動します。例::

en: The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to the absolute path of the src folder. So, following the example above, it would be ``/home/kovid/work/calibre/src``. How to set environment variables depends on your Linux distribution and what shell you are using.
ja: 次のステップは、環境変数 ``CALIBRE_DEVELOP_FROM`` に src フォルダの絶対パスを設定することです。上の例では ``/home/kovid/work/calibre/src`` になります。環境変数の設定方法は、Linux のディストリビューションや使用しているシェルによって異なります。

en: It is recommended to use the binary installer provided from upstream. Should you insist on using a package provided by your distribution, use the ``CALIBRE_PYTHON_PATH`` and ``CALIBRE_RESOURCES_PATH`` variables instead. You can get these by running ``calibre-debug --paths``. But note that distribution calibre packages are often terminally broken and are completely unsupported.
ja: アップストリームから提供されるバイナリインストーラの使用をお勧めします。どうしてもディストリビューションが提供するパッケージを使用したい場合は、代わりに ``CALIBRE_PYTHON_PATH`` および ``CALIBRE_RESOURCES_PATH`` 変数を使用してください。これらの変数は ``calibre-debug --paths`` を実行することで取得できます。ただし、ディストリビューションのcalibreパッケージは多くの場合、長期間メンテされず、完全にサポートされていないことに注意してください。

en: Once you have set the environment variable, open a new terminal and check that it was correctly set by using the command::
ja: 環境変数を設定したらターミナルを開き、正しく設定されていることを確認するために次のコマンドを実行します::

en: That's it! You are now ready to start hacking on the calibre code. For example, open the file :file:`src/calibre/__init__.py` in your favorite editor and add the line::
ja: これでおしまいです。calibre コードのハックを開始できるようになりました。たとえば :file:`src/calibre/__init__.py` ファイルを好みのエディタで開き、次の行をファイルの先頭近くに追加します::

en: Having separate "normal" and "development" calibre installs on the same computer
ja: "通常" と "開発用" の calibre を同じコンピュータ上に別々にインストール

en: The calibre source tree is very stable and rarely breaks, but if you feel the need to run from source on a separate test library and run the released calibre version with your everyday library, you can achieve this easily using .bat files or shell scripts to launch calibre. The example below shows how to do this on Windows using .bat files (the instructions for other platforms are the same, just use a shell script instead of a .bat file)
ja: calibre のソースツリーは非常に安定していて壊れることは滅多にありません。しかしソースから実行したものはテスト用のライブラリに使用し、日常的に使用するライブラリにはリリース版の calibre を使用する必要があると感じる場合には、calibre を起動する .bat ファイルやシェルスクリプトを使うことで簡単に実現できます。下の例では、Windows 上で .bat ファイルを使ってこれを行う手順を紹介します (他のプラットフォームでの手順も同じです。.bat ファイルの代わりにシェルスクリプトを使用してください)

en: To launch the release version of calibre with your everyday library:
ja: 日常的に使用するライブラリ用にリリース版の calibre を起動するには次のようにします:

en: Debugging tips
ja: デバッグのコツ

en: Python is a dynamically typed language with excellent facilities for introspection. Kovid wrote the core calibre code without once using a debugger. There are many strategies to debug calibre code:
ja: Python は動的型付けの言語であり、内省のための優れた機能を備えています。Kovid は calibre の中核となるコードを一度もデバッガを使用せずに書き上げました。calibre のコードをデバッグするには多くの戦略があります:

en: Using print statements
ja: print 文を使用

en: This is Kovid's favorite way to debug. Simply insert print statements at points of interest and run your program in the terminal. For example, you can start the GUI from the terminal as::
ja: Kovid のお気に入りのデバッグ方法は、これです。気になる場所に print 文を挿入し、プログラムをターミナルから実行するだけです。たとえば GUI をターミナルから次のように開始します::

en: Similarly, you can start the E-book viewer as::
ja: 同様にして、電子書籍ビューアは次にように開始します::

en: The e-book editor can be started as::
ja: 電子書籍の編集は次のように開始できます:

en: Using an interactive Python interpreter
ja: インタラクティブな Python インタプリタの利用

en: You can insert the following two lines of code to start an interactive Python session at that point::
ja: 次に示す 2 行のコードを挿入すると、その場所でインタラクティブな Python セッションを開始できます::

en: When running from the command line, this will start an interactive Python interpreter with access to all locally defined variables (variables in the local scope). The interactive prompt even has :kbd:`Tab` completion for object properties and you can use the various Python facilities for introspection, such as :func:`dir`, :func:`type`, :func:`repr`, etc.
ja: コマンドラインから実行すると、これはローカルに定義された変数 (ローカルスコープ内の変数) にアクセスできるインタラクティブな Python インタプリタを開始します。インタラクティブプロンプトはオブジェクトプロパティの :kbd:`タブ` 補完機能も備えており、さまざまな Python 機能を :func:`dir`, :func:`type`, :func:`repr` などの内省に使用できます。

en: Using the Python debugger as a remote debugger
ja: Python デバッガをリモートデバッガとして使用

en: You can use the builtin Python debugger (pdb) as a remote debugger from the command line. First, start the remote debugger at the point in the calibre code you are interested in, like this::
ja: ビルトインの Python デバッガ (pdb) をリモートデバッガとしてコマンドラインから使用することができます。まず、次のように calibre コードの中の気になる場所でリモートデバッガを開始します::

en: Then run calibre, either as normal, or using one of the calibre-debug commands described in the previous section. Once the above point in the code is reached, calibre will freeze, waiting for the debugger to connect.
ja: 次に calibre を実行します。通常どおりに実行しても、または前の章で説明したようにcalibre-debug コマンドのひとつを使用してもかまいません。コード内の上記の場所に到達したら、calibre はフリーズしてデバッガの接続を待ちます。

en: Now open a terminal or command prompt and use the following command to start the debugging session::
ja: 次にターミナルまたはコマンドプロンプトを開き、デバッグセッションを開始するために次のコマンドを使用します::

en: You can read about how to use the Python debugger in the `Python stdlib docs for the pdb module <https://docs.python.org/library/pdb.html#debugger-commands>`_.
ja: Python デバッガの使い方は `Python stdlib docs for the pdb module <https://docs.python.org/library/pdb.html#debugger-commands>`_ を読んでください。

en: By default, the remote debugger will try to connect on port 4444. You can change it, by passing the port parameter to both the set_trace() and the cli() functions above, like this: ``set_trace(port=1234)`` and ``cli(port=1234)``.
ja: デフォルトではリモートデバッガはポート 4444 に接続しようとします。ポート番号をパラメータとして set_trace() および cli() 関数の両方に渡してやると、使用するポートを変更できます。``set_trace(port=1234)`` や ``cli(port=1234)`` のように指定します。

en: The Python debugger cannot handle multiple threads, so you have to call set_trace once per thread, each time with a different port number.
ja: Python デバッガは複数スレッドを処理できないため、スレッドごとに set_trace を呼び出してそれぞれ別のポート番号を指定してやる必要があります。

en: Using the debugger in your favorite Python IDE
ja: 好みの Python IDE でデバッガを使用

en: It is possible to use the builtin debugger in your favorite Python IDE, if it supports remote debugging. The first step is to add the calibre src checkout to the ``PYTHONPATH`` in your IDE. In other words, the folder you set as ``CALIBRE_DEVELOP_FROM`` above, must also be in the ``PYTHONPATH`` of your IDE.
ja: リモートデバッグをサポートしていれば、お気に入りの IDE でビルトインデバッガを使用することも可能です。最初のステップは、calibre の src を IDE の ``PYTHONPATH`` にチェックアウトすることです。別の言葉で言うと、上で ``CALIBRE_DEVELOP_FROM`` に設定したフォルダを、IDE の ``PYTHONPATH`` にする必要があります。

en: Then place the IDE's remote debugger module into the :file:`src` sub-folder of the calibre source code checkout. Add whatever code is needed to launch the remote debugger to calibre at the point of interest, for example in the main function. Then run calibre as normal. Your IDE should now be able to connect to the remote debugger running inside calibre.
ja: 次に IDE のリモートデバッガモジュールを、チェックアウトした calibre ソースコードの :file:`src` サブフォルダに配置します。calibre の気になる場所、たとえば main 関数でリモートデバッガを起動するのに必要なコードを追加します。通常の方法で calibre を実行します。これで IDE は calibre の内部で実行されているリモートデバッガに接続できるようになるはずです。

en: Executing arbitrary scripts in the calibre Python environment
ja: calibre の Python 環境で任意のスクリプトを実行

en: The :command:`calibre-debug` command provides a couple of handy switches to execute your own code, with access to the calibre modules::
ja: :command:`calibre-debug` コマンドには calibre のモジュールにアクセスしてコードを実行するための便利なスイッチがいくつかあります::

en: is great for testing a little snippet of code on the command line. It works in the same way as the -c switch to the Python interpreter::
ja: これはコマンドラインでちょっとしたスニペットをテストするのに最適です。Python インタプリタの -c スイッチと同じように機能します::

en: can be used to execute your own Python script. It works in the same way as passing the script to the Python interpreter, except that the calibre environment is fully initialized, so you can use all the calibre code in your script. To use command line arguments with your script, use the form::
ja: これは Python スクリプトを実行するのに使用できます。スクリプトを Python インタプリタに渡すのと同じように機能しますが、calibre 環境が完全に初期化され、スクリプト内で calibre のすべてのコードを利用できる点が異なります。スクリプトでコマンドライン引数を利用するには、次の形式を使います::

en: The ``--`` causes all subsequent arguments to be passed to your script.
ja: ``--`` を指定すると、後続のすべての引数がスクリプトに渡されます。

en: Using calibre in your projects
ja: プロジェクトで calibre を使用

en: It is possible to directly use calibre functions/code in your Python project. Two ways exist to do this:
ja: Python のプロジェクトで calibre 関数/コードを直接利用することが可能です。それには 2 つの方法があります:

en: Binary install of calibre
ja: calibre のバイナリインストール

en: If you have a binary install of calibre, you can use the Python interpreter bundled with calibre, like this::
ja: calibre のバイナリインストールがある場合には、calibre に付属している Python インタプリタを次のようｊにして使用できます::

en: Source install on Linux
ja: Linux 上のソースインストール

en: In addition to using the above technique, if you do a source install on Linux, you can also directly import calibre, as follows::
ja: 上記の手法に加えて、Linux 上にソースインストールを行う場合は、次のようにして直接 calibre をインポートすることができます::

en: It is essential that you import the init_calibre module before any other calibre modules/packages as it sets up the interpreter to run calibre code.
ja: 重要なのは、他の calibre モジュール/パッケージの前に init_calibre をインポートすることです。インタプリタを calibre コードとして実行するようセットアップするためです。

en: API documentation for various parts of calibre
ja: calibre のパーツの API 説明書
