# SOME DESCRIPTIVE TITLE.
# Copyright (C) Kovid Goyal
# This file is distributed under the same license as the calibre package.
# 
# Translators:
# Yuri Chornoivan <yurchor@ukr.net>, 2014,2017
msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-21 20:39+0530\n"
"PO-Revision-Date: 2017-06-18 18:31+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian (http://www.transifex.com/calibre/calibre/language/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: uk\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"

#: ../../home/kovid/work/calibre/manual/develop.rst:4
msgid "Setting up a calibre development environment"
msgstr "Налаштовування середовища для розробки calibre"

#: ../../home/kovid/work/calibre/manual/develop.rst:6
msgid ""
"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 is not compatible with Python 3 and requires "
"at least Python 2.7.9."
msgstr "Увесь початковий код calibre відкрито і ліцензовано відповідно до `GNU GPL v3 <https://www.gnu.org/licenses/gpl.html>`_. Це означає, що ви можете безкоштовно отримувати код програми і вносити до нього будь-які потрібні вам зміни. За допомогою цього розділу ви зможете ознайомитися із тим, як створити середовище для розробки calibre у вашій операційній системі. calibre, в основному, написано мовою програмування `Python <https://www.python.org>`_ із вставками мовою програмування C/C++ для підвищення швидкодії та роботи із системою. Зауважте, що програма calibre є несумісною з Python 3 і потребує для роботи принаймні Python 2.7.9."

#: ../../home/kovid/work/calibre/manual/develop.rst:17
msgid "Design philosophy"
msgstr "Засади структури програми"

#: ../../home/kovid/work/calibre/manual/develop.rst:19
msgid ""
"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`."
msgstr "calibre походить зі світу Unix, і це означає, що значна частина можливостей програми винесена у модулі. Ці модулі взаємодіють між собою за допомогою добре визначених інтерфейсів. Це робить додавання нових можливостей та виправлення вад у calibre дуже простим і надає розвитку програми шаленого темпу. Через своє походження calibre має всеосяжний інтерфейс командного рядка для усіх свої функціональних можливостей. Документацію з нього можна знайти у розділі :doc:`generated/uk/cli-index`."

#: ../../home/kovid/work/calibre/manual/develop.rst:24
msgid ""
"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>`_."
msgstr "Модульність calibre реалізується ``додатками``. У нашому підручнику є :ref:`розділ <customize>` щодо написання додатків до calibre. Наприклад, додавання підтримки нового пристрою у 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>`_."

#: ../../home/kovid/work/calibre/manual/develop.rst:34
msgid "Code layout"
msgstr "Структура коду"

#: ../../home/kovid/work/calibre/manual/develop.rst:36
msgid ""
"All the calibre python code is in the ``calibre`` package. This package "
"contains the following main sub-packages"
msgstr "Увесь код мовою Pyhton calibre є частиною пакунка «calibre». У цьому пакунку містяться вказані нижче підпакунки"

#: ../../home/kovid/work/calibre/manual/develop.rst:38
msgid ""
"devices - All the device drivers. Just look through some of the built-in "
"drivers to get an idea for how they work."
msgstr "devices — усі драйвери до пристроїв. Достатньо ознайомитися з кодом вбудованих до програми драйверів, щоб зрозуміти основні принципи роботи драйверів."

#: ../../home/kovid/work/calibre/manual/develop.rst:40
msgid ""
"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."
msgstr "Докладніший опис можна знайти у ``devices.interface``, визначенні інтерфейсу підтримки драйверів пристроїв, та у ``devices.usbms``, визначенні типового драйвера, який встановлює з’єднання із пристроєм USBMS. Усі драйвери на основі USBMS у calibre успадковуються від цього драйвера."

#: ../../home/kovid/work/calibre/manual/develop.rst:43
msgid ""
"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``."
msgstr "ebooks — увесь код, який пов’язано із перетворенням та метаданими електронних книг. Варто розпочати з ``calibre.ebooks.conversion.cli``, модуля, який забезпечує роботу програми :command:`ebook-convert`. Процесом перетворення керує ``conversion.plumber``. Незалежний від форматів код зберігається у ``ebooks.oeb``, а залежний від форматів — у ``ebooks.format_name``."

#: ../../home/kovid/work/calibre/manual/develop.rst:47
msgid ""
"Metadata reading, writing, and downloading is all in ``ebooks.metadata``"
msgstr "Засоби читання, записування та отримання метаданих зосереджено у ``ebooks.metadata``"

#: ../../home/kovid/work/calibre/manual/develop.rst:48
msgid ""
"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`."
msgstr "Перетворення виконується у конвеєрі. Зі структурою конвеєра можна ознайомитися у розділі :ref:`conversion-introduction`. Конвеєр складається із додатка вхідних даних, різноманітних перетворено та додатка вихідних даних. Код, який будує конвеєр і керує ним, зберігається у :file:`plumber.py`. Конвеєр працює над створенням представлення книги у формі розпакованого файла epub, із маніфестом manifest, вмістом, змістом, путівником, даними html тощо. Класом, який керує цим представленням, є клас OEBBook у ``ebooks.oeb.base``. Різноманітні перетворення, які застосовуються до книги під час обробки, зберігаються у :file:`oeb/transforms/*.py`. Код додатків вхідних і вихідних даних зберігається у :file:`conversion/plugins/*.py`."

#: ../../home/kovid/work/calibre/manual/develop.rst:58
msgid ""
"E-book editing happens using a different container object. It is documented "
"in :ref:`polish_api`."
msgstr "Редагування електронних книг відбувається за допомогою іншого об’єкта-контейнера. Його документовано у розділі :ref:`polish_api`."

#: ../../home/kovid/work/calibre/manual/develop.rst:61
msgid ""
"db - The database back-end. See :ref:`db_api` for the interface to the "
"calibre library."
msgstr "db — модуль бази даних. Див. розділ :ref:`db_api`, щоб дізнатися більше про інтерфейс бібліотеки calibre."

#: ../../home/kovid/work/calibre/manual/develop.rst:63
msgid "Content server: ``srv`` is the calibre Content server."
msgstr "Сервер даних: «srv» — це сервер даних calibre."

#: ../../home/kovid/work/calibre/manual/develop.rst:65
msgid ""
"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``."
msgstr "gui2 — графічний інтерфейс користувача. Ініціалізація інтерфейсу виконується у ``gui2.main`` і ``gui2.ui``. Сам засіб перегляду електронних книг міститься у ``gui2.viewer``. За редагування електронних книг відповідає ``gui2.tweak_book``."

#: ../../home/kovid/work/calibre/manual/develop.rst:67
msgid ""
"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>`_."
msgstr "Якщо вам потрібен доступ до усіх виконуваних файлів calibre, ознайомтеся зі структурою ``entry_points`` у `linux.py <https://github.com/kovidgoyal/calibre/blob/master/src/calibre/linux.py>`_."

#: ../../home/kovid/work/calibre/manual/develop.rst:71
msgid ""
"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."
msgstr "Якщо хочете краще зрозуміти код, створіть тему із вашим питанням на `форумі розробників <https://www.mobileread.com/forums/forumdisplay.php?f=240>`_. Найімовірніше, там ви отримаєте кваліфіковану відповідь від одного з багатьох розробників calibre."

#: ../../home/kovid/work/calibre/manual/develop.rst:75
msgid "Getting the code"
msgstr "Отримання коду"

#: ../../home/kovid/work/calibre/manual/develop.rst:77
msgid ""
"You can get the calibre source code in two ways, using a version control "
"system or directly downloading a `tarball <https://calibre-"
"ebook.com/dist/src>`_."
msgstr "Отримати початковий код calibre можна у два способи: за допомогою системи керування версіями та безпосереднього отримання `архіву з кодом програми <https://calibre-ebook.com/dist/src>`_."

#: ../../home/kovid/work/calibre/manual/develop.rst:80
msgid ""
"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::"
msgstr "Для керування версіями у calibre використовують `Git <https://www.git-scm.com/>`_, розподілену систему керування версіями. Git можна користуватися на усіх платформах, на яких працює calibre. Після встановлення Git ви зможете отримати початковий код calibre за допомогою такої команди::"

#: ../../home/kovid/work/calibre/manual/develop.rst:86
msgid ""
"On Windows you will need the complete path name, that will be something like"
" :file:`C:\\\\Program Files\\\\Git\\\\git.exe`."
msgstr "У Windows вам знадобиться шлях повністю, щось схоже на :file:`C:\\\\Program Files\\\\Git\\\\git.exe`."

#: ../../home/kovid/work/calibre/manual/develop.rst:88
msgid ""
"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)."
msgstr "calibre є дуже великим проектом із дуже довгою історією, отже виконання вказаної вище команди може бути доволі тривалим (від 10 хвилин до години, залежно від пропускної здатності вашого каналу з’єднання)."

#: ../../home/kovid/work/calibre/manual/develop.rst:91
msgid ""
"If you want to get the code faster, the source code for the latest release "
"is always available as an `archive <https://calibre-ebook.com/dist/src>`_."
msgstr "Якщо ви хочете отримати код швидше, початковий код найсвіжішого випуску завжди можна отримати у форматі `архіву <https://calibre-ebook.com/dist/src>`_."

#: ../../home/kovid/work/calibre/manual/develop.rst:94
msgid "To update a branch to the latest code, use the command::"
msgstr "Щоб оновити гілку до актуального стану, скористайтеся такою командою:"

#: ../../home/kovid/work/calibre/manual/develop.rst:98
msgid ""
"You can also browse the code at `GitHub "
"<https://github.com/kovidgoyal/calibre>`_."
msgstr "Ви також можете переглядати код на `GitHub <https://github.com/kovidgoyal/calibre>`_."

#: ../../home/kovid/work/calibre/manual/develop.rst:101
msgid "Submitting your changes to be included"
msgstr "Надсилання ваших змін для включення до програми"

#: ../../home/kovid/work/calibre/manual/develop.rst:103
msgid ""
"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::"
msgstr "Якщо ви плануєте внести лише незначні зміни, ви можете створити з них «інструкцію об’єднання», а потім долучити її до квитка у `системі стеження за вадами <https://bugs.launchpad.net/calibre>`_ calibre. Процедура така: вносимо зміни, а потім віддаємо такі команди::"

#: ../../home/kovid/work/calibre/manual/develop.rst:111
msgid ""
"This will create a :file:`my-changes` file in the current directory, 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::"
msgstr "У результаті у поточному каталозі буде створено файл :file:`my-changes`, який слід просто долучити до квитка у `системі стеження за вадами <https://bugs.launchpad.net/calibre>`_ calibre. Зауважте, що до латки буде включено *усі* внесені вами зміни. Якщо ви хочете надіслати лише частину змін, вам слід замінити ``origin/master`` у наведених вище командах. Щоб надіслати лише останню зміну, скористайтеся такою командою::"

#: ../../home/kovid/work/calibre/manual/develop.rst:119
msgid ""
"To send the last *n* commits, replace *1* with *n*, for example, for the "
"last 3 commits::"
msgstr "Щоб надіслати останні *n* внесків, замініть *1* на *n*. Наприклад, для 3 внесків, ось так::"

#: ../../home/kovid/work/calibre/manual/develop.rst:124
msgid "Be careful to not include merges when using ``HEAD~n``."
msgstr "Будьте обережні: не включайте об’єднання, якщо користуєтеся ``HEAD~n``."

#: ../../home/kovid/work/calibre/manual/develop.rst:126
msgid ""
"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:"
msgstr "Якщо ви плануєте значний розвиток коду calibre, вам варто створити обліковий запис на `GitHub <https://github.com>`__. Нижче наведено базові настанови щодо створення власної копії коду calibre у спосіб, який надасть вам змогу надсилати запити щодо об’єднання (pull requests) для включення вашого коду до основного сховища коду calibre:"

#: ../../home/kovid/work/calibre/manual/develop.rst:131
msgid ""
"Setup git on your machine as described in this article: `Setup Git "
"<https://help.github.com/articles/set-up-git>`_"
msgstr "Налаштуйте git на вашому комп’ютері так, як це описано у цій статті: `Setup Git <https://help.github.com/articles/set-up-git>`_"

#: ../../home/kovid/work/calibre/manual/develop.rst:132
msgid ""
"Setup ssh keys for authentication to GitHub, as described here: `Generating "
"SSH keys <https://help.github.com/articles/generating-ssh-keys>`_"
msgstr "Налаштуйте ключі ssh для розпізнавання на GitHub, як це описано тут: `Generating SSH keys <https://help.github.com/articles/generating-ssh-keys>`_"

#: ../../home/kovid/work/calibre/manual/develop.rst:133
msgid ""
"Go to https://github.com/kovidgoyal/calibre and click the :guilabel:`Fork` "
"button."
msgstr "Перейдіть на сторінку https://github.com/kovidgoyal/calibre і натисніть кнопку :guilabel:`Fork`."

#: ../../home/kovid/work/calibre/manual/develop.rst:134
msgid "In a Terminal do::"
msgstr "У терміналі віддайте команди::"

#: ../../home/kovid/work/calibre/manual/develop.rst:139
msgid ""
"Replace <username> above with your github username. That will get your fork "
"checked out locally."
msgstr "Замініть <ім’я_користувача> у наведеній вище команді на ваше ім’я користувача github. Таким чином, ви отримаєте копію клонованого сховища на вашому комп’ютері."

#: ../../home/kovid/work/calibre/manual/develop.rst:140
msgid ""
"You can make changes and commit them whenever you like. When you are ready "
"to have your work merged, do a::"
msgstr "Ви можете внести зміни і надіслати їх будь-коли. Коли ви будете готові до внесення вашої роботи, зробіть от що::"

#: ../../home/kovid/work/calibre/manual/develop.rst:144
msgid ""
"and go to ``https://github.com/<username>/calibre`` and click the "
":guilabel:`Pull Request` button to generate a pull request that can be "
"merged."
msgstr "перейдіть на сторінку ``https://github.com/<ім’я користувача>/calibre`` і натисніть кнопку :guilabel:`Pull Request`, щоб створити запит на об’єднання."

#: ../../home/kovid/work/calibre/manual/develop.rst:145
msgid ""
"You can update your local copy with code from the main repo at any time by "
"doing::"
msgstr "Ви будь-коли можете оновити вашу локальну копію кодом із основного сховища такою командою::"

#: ../../home/kovid/work/calibre/manual/develop.rst:150
msgid ""
"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)."
msgstr "Вам також варто слідкувати за `форумом розробників <https://www.mobileread.com/forums/forumdisplay.php?f=240>`_ calibre. Перш ніж вносити значні зміни, вам слід обговорити їх на форумі або безпосередньо зв’язатися з Ковідом (його адреса електронної пошти є у багатьох файлах початкового коду програми)."

#: ../../home/kovid/work/calibre/manual/develop.rst:156
msgid "Windows development environment"
msgstr "Середовище для розробки у Windows"

#: ../../home/kovid/work/calibre/manual/develop.rst:158
#: ../../home/kovid/work/calibre/manual/develop.rst:192
#: ../../home/kovid/work/calibre/manual/develop.rst:224
msgid ""
"You must also get the calibre source code separately as described above."
msgstr "Вам слід також окремо отримати початковий код calibre, як це було описано вище."

#: ../../home/kovid/work/calibre/manual/develop.rst:160
msgid ""
"Install calibre normally, using the Windows installer. Then open a Command "
"Prompt and change to the previously checked out calibre code directory. For "
"example::"
msgstr "Встановіть calibre у звичний спосіб, за допомогою пакунка для встановлення у Windows. Далі, відкрийте вікно командного рядка і перейдіть до отриманого каталогу з кодом calibre. Приклад::"

#: ../../home/kovid/work/calibre/manual/develop.rst:165
#: ../../home/kovid/work/calibre/manual/develop.rst:236
msgid ""
"calibre is the directory that contains the src and resources sub-"
"directories."
msgstr "calibre — каталог, що містить підкаталоги src і resources."

#: ../../home/kovid/work/calibre/manual/develop.rst:167
msgid ""
"The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to"
" the absolute path of the src directory. So, following the example above, it"
" would be ``C:\\Users\\kovid\\work\\calibre\\src``. `Here is a short guide "
"<https://docs.python.org/2/using/windows.html#excursus-setting-environment-"
"variables>`_ to setting environment variables on Windows."
msgstr "Наступним кроком буде встановлення для змінної середовища ``CALIBRE_DEVELOP_FROM`` значення, яке буде абсолютним шляхом до каталогу src. Отже, якщо продовжувати наведений вище приклад, слід вказати шлях ``C:\\Users\\kovid\\work\\calibre\\src``. `Тут <https://docs.python.org/2/using/windows.html#excursus-setting-environment-variables>`_ наведено короткі настанови щодо налаштовування змінних середовища у Windows."

#: ../../home/kovid/work/calibre/manual/develop.rst:172
msgid ""
"Once you have set the environment variable, open a new command prompt and "
"check that it was correctly set by using the command::"
msgstr "Після встановлення змінної середовища відкрийте нове вікно командного рядка і перевірте, чи все працює, за допомогою такої команди::"

#: ../../home/kovid/work/calibre/manual/develop.rst:177
#: ../../home/kovid/work/calibre/manual/develop.rst:247
msgid ""
"Setting this environment variable means that calibre will now load all its "
"Python code from the specified location."
msgstr "Встановлення цієї змінної середовища означає, що calibre тепер буде завантажувати увесь свій код Python із вказаного місця."

#: ../../home/kovid/work/calibre/manual/develop.rst:179
msgid ""
"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::"
msgstr "Ось і все! Тепер ви готові до роботи з кодом calibre. Наприклад, відкрийте файл :file:`src\\\\calibre\\\\__init__.py` у вашому улюбленому редакторі і додайте такий рядок::"

#: ../../home/kovid/work/calibre/manual/develop.rst:184
#: ../../home/kovid/work/calibre/manual/develop.rst:254
msgid ""
"near the top of the file. Now run the command :command:`calibredb`. The very"
" first line of output should be ``Hello, world!``."
msgstr "на початку файла. Тепер віддайте команду :command:`calibredb`. Найпершим рядком у виведених даних має бути ``Hello, world!``."

#: ../../home/kovid/work/calibre/manual/develop.rst:186
msgid ""
"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>`_."
msgstr "Ви також можете налаштувати середовище розробки calibre у вільній версії Microsoft Visual Studio, якщо хочете, виконавши настанови, викладені `тут <https://www.mobileread.com/forums/showthread.php?t=251201>`_."

#: ../../home/kovid/work/calibre/manual/develop.rst:190
msgid "macOS development environment"
msgstr "Середовище розробки у macOS"

#: ../../home/kovid/work/calibre/manual/develop.rst:194
msgid ""
"Install calibre normally using the provided .dmg. Then open a Terminal and "
"change to the previously checked out calibre code directory, for example::"
msgstr "Встановіть calibre у звичний спосіб, за допомогою пакунка для встановлення .dmg. Далі, відкрийте вікно термінала і перейдіть до отриманого каталогу з кодом calibre Приклад::"

#: ../../home/kovid/work/calibre/manual/develop.rst:199
msgid ""
"calibre is the directory that contains the src and resources sub-"
"directories. Ensure you have installed the calibre commandline tools via "
":guilabel:`Preferences->Advanced->Miscellaneous` in the calibre GUI."
msgstr "calibre — каталог, у якому містяться підкаталоги src та resources. Переконайтеся, що вами встановлено інструменти командного рядка calibre за допомогою пункту меню :guilabel:`Налаштування -> Додатково -> Різне` у графічному інтерфейсі calibre."

#: ../../home/kovid/work/calibre/manual/develop.rst:201
msgid ""
"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 directory "
"when running calibre in debug mode."
msgstr "Наступним кроком є створення скрипту bash, який визначити для змінної середовища ``CALIBRE_DEVELOP_FROM`` значення абсолютного шляху до каталогу src під час запуску calibre у режимі діагностики."

#: ../../home/kovid/work/calibre/manual/develop.rst:203
msgid "Create a plain text file::"
msgstr "Створіть звичайний текстовий файл::"

#: ../../home/kovid/work/calibre/manual/develop.rst:209
msgid ""
"Save this file as ``/usr/bin/calibre-develop``, then set its permissions so "
"that it can be executed::"
msgstr "Збережіть цей файл як ``/usr/bin/calibre-develop``. Далі, встановіть права доступу так, щоб його можна було виконувати::"

#: ../../home/kovid/work/calibre/manual/develop.rst:213
msgid "Once you have done this, run::"
msgstr "Щойно ви це зробите, віддайте команду::"

#: ../../home/kovid/work/calibre/manual/develop.rst:217
msgid ""
"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."
msgstr "Ви маєте побачити певну діагностичну інформацію у вікні термінала під час запуску calibre, і ви маєте побачити зірочку після номеру версії у вікні графічного інтерфейсу, що означає, що програму запущено із початкових кодів."

#: ../../home/kovid/work/calibre/manual/develop.rst:222
msgid "Linux development environment"
msgstr "Середовище розробки у Linux"

#: ../../home/kovid/work/calibre/manual/develop.rst:226
msgid ""
"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."
msgstr "Основним середовищем розробки calibre є Linux. У вас є два варіанти налаштовування середовища для розробки. Ви можете встановити виконуваний файл calibre у звичний спосіб і скористатися цим інтерактивним середовищем для розробки. Цей підхід подібний до використаного у Windows і macOS. Крім того, ви можете встановити calibre з початкових кодів. Настанови щодо налаштовування середовища для розробки з початкових кодів наведено у файлі INSTALL дерева початкових кодів програми. Тут ми обговоримо використання середовища з бінарними файлами, тобто рекомендованого методу."

#: ../../home/kovid/work/calibre/manual/develop.rst:232
msgid ""
"Install calibre using the binary installer. Then open a terminal and change "
"to the previously checked out calibre code directory, for example::"
msgstr "Встановіть calibre за допомогою бінарного пакунка для встановлення. Далі, відкрийте вікно термінала і перейдіть до отриманого каталогу з кодом calibre Приклад::"

#: ../../home/kovid/work/calibre/manual/develop.rst:238
msgid ""
"The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to"
" the absolute path of the src directory. 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."
msgstr "Наступним кроком є встановлення для змінної середовища ``CALIBRE_DEVELOP_FROM`` значення абсолютного шляху до каталогу src. Отже, продовжуючи наведений вище приклад, маємо встановити значення ``/home/kovid/work/calibre/src``. Спосіб встановлення значення для змінної середовища залежить від вашого дистрибутива Linux та використаної вами командної оболонки."

#: ../../home/kovid/work/calibre/manual/develop.rst:242
msgid ""
"Once you have set the environment variable, open a new terminal and check "
"that it was correctly set by using the command::"
msgstr "Після встановлення змінної середовища відкрийте новий термінал і перевірте, чи все працює, за допомогою такої команди::"

#: ../../home/kovid/work/calibre/manual/develop.rst:249
msgid ""
"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::"
msgstr "Ось і все! Тепер ви готові до роботи з кодом calibre. Наприклад, відкрийте файл :file:`src/calibre/__init__.py` у вашому улюбленому редакторі і додайте такий рядок::"

#: ../../home/kovid/work/calibre/manual/develop.rst:257
msgid ""
"Having separate \"normal\" and \"development\" calibre installs on the same "
"computer"
msgstr "Використання окремих «звичайного» і «розробницького» встановлень calibre на одному комп’ютері"

#: ../../home/kovid/work/calibre/manual/develop.rst:259
msgid ""
"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)"
msgstr "Початкові коди calibre є доволі стабільними, критичні помилки у них є дуже рідкісним явищем, але якщо ви хочете запустити програму з початкових кодів на окремій тестовій бібліотеці і користуватися стабільною версією calibre для вашої справжньої бібліотеки, досягти цього можна за допомогою запуску calibre з файлів .bat або скриптів оболонки. У наведеному нижче прикладі показано, як досягти цього у Windows за допомогою файлів .bat (настанови для інших платформ дуже подібні, але у них використовуватиметься скрипт командної оболонки, а не файл .bat)"

#: ../../home/kovid/work/calibre/manual/develop.rst:264
msgid "To launch the release version of calibre with your everyday library:"
msgstr "Щоб запустити версію для випуску calibre з вашою щоденною бібліотекою, зробіть так:"

#: ../../home/kovid/work/calibre/manual/develop.rst:266
msgid "calibre-normal.bat::"
msgstr "calibre-normal.bat::"

#: ../../home/kovid/work/calibre/manual/develop.rst:270
msgid "calibre-dev.bat::"
msgstr "calibre-dev.bat::"

#: ../../home/kovid/work/calibre/manual/develop.rst:277
msgid "Debugging tips"
msgstr "Підказки щодо діагностики"

#: ../../home/kovid/work/calibre/manual/develop.rst:279
msgid ""
"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:"
msgstr "Python — мова з динамічною типізацією та чудовими можливостями з інтроспекції. Ковід створив код основних бібліотек calibre без жодного застосування засобів діагностики. Втім, існує багато стратегій діагностування коду calibre:"

#: ../../home/kovid/work/calibre/manual/develop.rst:284
msgid "Using print statements"
msgstr "Використання інструкцій print"

#: ../../home/kovid/work/calibre/manual/develop.rst:286
msgid ""
"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::"
msgstr "Цей улюблений спосіб діагностування Ковіда. Просто вставте інструкції print у потрібні вам місця у коді і запустіть програму з термінала. Наприклад, ви можете запустити графічний інтерфейс програми з термінала ось так::"

#: ../../home/kovid/work/calibre/manual/develop.rst:291
msgid "Similarly, you can start the e-book-viewer as::"
msgstr "Так само, ви можете запустити ebook-viewer ось так::"

#: ../../home/kovid/work/calibre/manual/develop.rst:295
msgid "The e-book-editor can be started as::"
msgstr "Редактор електронних книг можна запустити ось так::"

#: ../../home/kovid/work/calibre/manual/develop.rst:300
msgid "Using an interactive Python interpreter"
msgstr "Використання інтерактивного інтерпретатора Python"

#: ../../home/kovid/work/calibre/manual/develop.rst:302
msgid ""
"You can insert the following two lines of code to start an interactive "
"Python session at that point::"
msgstr "Ви можете вставити такі два рядки коду, щоб запустити інтерактивний сеанс Python на цьому кроці::"

#: ../../home/kovid/work/calibre/manual/develop.rst:307
msgid ""
"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 TAB completion for object "
"properties and you can use the various Python facilities for introspection, "
"such as :func:`dir`, :func:`type`, :func:`repr`, etc."
msgstr "Якщо програму запущено з командного рядка, цей код запустити інтерактивний інтерпретатор Python із доступом до усіх локально визначених змінних (змінних у області local). У інтерактивному командному рядку передбачено навіть автоматичне доповнення за натисканням клавіші Tab властивостей об’єктів. Ви також можете скористатися різноманітними можливостями Python для інтроспекції, зокрема :func:`dir`, :func:`type`, :func:`repr` тощо."

#: ../../home/kovid/work/calibre/manual/develop.rst:313
msgid "Using the Python debugger as a remote debugger"
msgstr "Використання засобу діагностики Python як віддалений засіб діагностики"

#: ../../home/kovid/work/calibre/manual/develop.rst:315
msgid ""
"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::"
msgstr "Ви можете скористатися вбудованим засобом діагностики Python (pdb) як віддаленим засобом діагностики з командного рядка. Спочатку, запустіть віддалений засіб діагностики у точці коду calibre, яка вам потрібна, ось так::"

#: ../../home/kovid/work/calibre/manual/develop.rst:322
msgid ""
"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."
msgstr "Далі, запустіть calibre у звичний спосіб або за допомогою команд calibre-debug, які описано у попередньому розділі. Щойно буде досягнуто визначеної вище точки у коді, роботу calibre буде призупинено, вона очікуватиме на з’єднання із засобом діагностики."

#: ../../home/kovid/work/calibre/manual/develop.rst:326
msgid ""
"Now open a terminal or command prompt and use the following command to start"
" the debugging session::"
msgstr "Тепер відкрийте вікно термінала або командний рядок і віддайте таку команду, щоб розпочати сеанс діагностики::"

#: ../../home/kovid/work/calibre/manual/develop.rst:331
msgid ""
"You can read about how to use the Python debugger in the `Python stdlib docs"
" for the pdb module <https://docs.python.org/2/library/pdb.html#debugger-"
"commands>`_."
msgstr "Дізнатися більше про те, як користуватися засобом діагностики python, можна за допомогою `документації щодо стандартної бібліотеки Python, модуль pdb <https://docs.python.org/2/library/pdb.html#debugger-commands>`_."

#: ../../home/kovid/work/calibre/manual/develop.rst:335
msgid ""
"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)``."
msgstr "Типово, засіб віддаленої діагностики намагатиметься встановити з’єднання на порту 4444. Ви можете змінити порт, передавши параметр порту до функцій set_trace() і cli(), ось так: ``set_trace(port=1234)`` і ``cli(port=1234)``."

#: ../../home/kovid/work/calibre/manual/develop.rst:341
msgid ""
"The Python debugger cannot handle multiple threads, so you have to call "
"set_trace once per thread, each time with a different port number."
msgstr "Засіб діагностики Python не може працювати одночасно з декількома потоками виконання, тому вам слід викликати set_trace для кожного потоку, кожного разу на портах із різними номерами."

#: ../../home/kovid/work/calibre/manual/develop.rst:345
msgid "Using the debugger in your favorite Python IDE"
msgstr "Використання засобу діагностики у вашому улюбленому комплексному середовищі розробки Python"

#: ../../home/kovid/work/calibre/manual/develop.rst:347
msgid ""
"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 directory "
"you set as ``CALIBRE_DEVELOP_FROM`` above, must also be in the "
"``PYTHONPATH`` of your IDE."
msgstr "Можна скористатися вбудованим засобом діагностики у вашому улюбленому комплексному середовищі для розробки, якщо там передбачено віддалену діагностику. Першим кроком є додавання адреси клону src calibre до змінної ``PYTHONPATH`` у вашому комплексному середовищі для розробки. Іншими словами, каталог, який ви визначили для змінної ``CALIBRE_DEVELOP_FROM`` вище, має також бути серед каталогів у змінній ``PYTHONPATH`` вашого комплексного середовища для розробки."

#: ../../home/kovid/work/calibre/manual/develop.rst:352
msgid ""
"Then place the IDE's remote debugger module into the :file:`src` "
"subdirectory 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."
msgstr "Далі, розташуйте модуль віддаленого засобу діагностики комплексного середовища розробки у підкаталозі :file:`src` клону початкового коду calibre. Додайте код, який потрібен для запуску віддаленого засобу діагностики у код calibre у потрібному вам місці, наприклад у функції main. Далі, запустіть calibre у звичний спосіб. Після цього ваше комплексне середовище розробки має з’єднатися із засобом віддаленої діагностики, запущеним у calibre."

#: ../../home/kovid/work/calibre/manual/develop.rst:359
msgid "Executing arbitrary scripts in the calibre Python environment"
msgstr "Виконання довільних скриптів у середовищі Python calibre"

#: ../../home/kovid/work/calibre/manual/develop.rst:361
msgid ""
"The :command:`calibre-debug` command provides a couple of handy switches to "
"execute your own code, with access to the calibre modules::"
msgstr "У програмі :command:`calibre-debug` передбачено декілька зручних перемикачів для виконання вашого власного коду із доступом до модулів calibre::"

#: ../../home/kovid/work/calibre/manual/develop.rst:366
msgid ""
"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::"
msgstr "чудово пасує для тестування невеличкого фрагмента коду у командному рядку. Працює так само, як перемикач -c самого інтерпретатора Python::"

#: ../../home/kovid/work/calibre/manual/develop.rst:370
msgid ""
"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::"
msgstr "може бути використано для запуску вашого власного скрипту мовою Python. Працює так само, як передавання скрипту інтерпретатору Python, але із повністю ініціалізованим середовищем calibre. Отже, ви зможете скористатися усім кодом calibre у вашому скрипті. Щоб передати скрипту параметри командного рядка, скористайтеся таким форматом::"

#: ../../home/kovid/work/calibre/manual/develop.rst:375
msgid ""
"The ``--`` causes all subsequent arguments to be passed to your script."
msgstr "Додавання ``--`` спричинить передавання усіх наступних аргументів до вашого скрипту."

#: ../../home/kovid/work/calibre/manual/develop.rst:379
msgid "Using calibre in your projects"
msgstr "Використання calibre у ваших проектах"

#: ../../home/kovid/work/calibre/manual/develop.rst:381
msgid ""
"It is possible to directly use calibre functions/code in your Python "
"project. Two ways exist to do this:"
msgstr "Ви можете безпосередньо скористатися функціями або кодом calibre у вашому проекті мовою Python. Передбачено два способи зробити це:"

#: ../../home/kovid/work/calibre/manual/develop.rst:384
msgid "Binary install of calibre"
msgstr "Зі встановленого бінарного пакунка calibre"

#: ../../home/kovid/work/calibre/manual/develop.rst:386
msgid ""
"If you have a binary install of calibre, you can use the Python interpreter "
"bundled with calibre, like this::"
msgstr "Якщо вами встановлено бінарний пакунок calibre, ви можете скористатися інтерпретатором Python, який міститься у ньому. Ось так::"

#: ../../home/kovid/work/calibre/manual/develop.rst:391
msgid "Source install on Linux"
msgstr "Зі встановлених початкових кодів у Linux"

#: ../../home/kovid/work/calibre/manual/develop.rst:393
msgid ""
"In addition to using the above technique, if you do a source install on "
"Linux, you can also directly import calibre, as follows::"
msgstr "Окрім використання описаної вище методики, якщо ви встановили програму з початкових кодів у Linux, ви також можете безпосередньо імпортувати модуль calibre, ось так::"

#: ../../home/kovid/work/calibre/manual/develop.rst:401
msgid ""
"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."
msgstr "Дуже важливо імпортувати модуль init_calibre до будь-яких інших модулів або пакунків calibre, оскільки цей модуль налаштовує інтерпретатор на виконання коду calibre."

#: ../../home/kovid/work/calibre/manual/develop.rst:405
msgid "API documentation for various parts of calibre"
msgstr "Документація з програмного інтерфейсу до різноманітних частин calibre"
