UA translation of FSM & Middlewares docs (#1035)

This commit is contained in:
Daria 2022-10-21 22:21:46 +03:00 committed by GitHub
parent 9c4f60fb1b
commit dea1623435
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 200 additions and 224 deletions

View file

@ -3,128 +3,155 @@
# This file is distributed under the same license as the aiogram package. # This file is distributed under the same license as the aiogram package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: aiogram \n" "Project-Id-Version: aiogram\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-01 22:51+0300\n" "POT-Creation-Date: 2022-10-01 22:51+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2022-10-20 21:29+0300\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.10.3\n" "Generated-By: Babel 2.10.3\n"
"X-Generator: Poedit 3.1.1\n"
#: ../../dispatcher/finite_state_machine/index.rst:3 #: ../../dispatcher/finite_state_machine/index.rst:3
msgid "Finite State Machine" msgid "Finite State Machine"
msgstr "" msgstr "Кінцевий автомат (FSM)"
#: ../../dispatcher/finite_state_machine/index.rst:5 #: ../../dispatcher/finite_state_machine/index.rst:5
msgid "" msgid ""
"A finite-state machine (FSM) or finite-state automaton (FSA, plural: " "A finite-state machine (FSM) or finite-state automaton (FSA, plural: "
"automata), finite automaton, or simply a state machine, is a mathematical" "automata), finite automaton, or simply a state machine, is a mathematical "
" model of computation." "model of computation."
msgstr "" msgstr ""
"Кінцевий автомат, кінцевий автоматон, або машина станів (FSM, FSA, finite "
"automaton, state machine) - це математична модель обчислень."
#: ../../dispatcher/finite_state_machine/index.rst:8 #: ../../dispatcher/finite_state_machine/index.rst:8
msgid "" msgid ""
"It is an abstract machine that can be in exactly one of a finite number " "It is an abstract machine that can be in exactly one of a finite number of "
"of states at any given time. The FSM can change from one state to another" "states at any given time. The FSM can change from one state to another in "
" in response to some inputs; the change from one state to another is " "response to some inputs; the change from one state to another is called a "
"called a transition." "transition."
msgstr "" msgstr ""
"Це абстрактна машина, яка може перебувати в одному зі скінченної кількості "
"станів у будь-який момент часу. Кінцевий автомат може переходити з одного "
"стану в інший у відповідь на деякі вхідні дані; перехід з одного стану в інший "
"називається переходом."
#: ../../dispatcher/finite_state_machine/index.rst:12 #: ../../dispatcher/finite_state_machine/index.rst:12
msgid "" msgid ""
"An FSM is defined by a list of its states, its initial state, and the " "An FSM is defined by a list of its states, its initial state, and the inputs "
"inputs that trigger each transition." "that trigger each transition."
msgstr "" msgstr ""
"Кінцевий автомат визначається списком його станів, початковим станом і "
"вхідними даними, які запускають кожен перехід."
#: ../../dispatcher/finite_state_machine/index.rst:19 #: ../../dispatcher/finite_state_machine/index.rst:19
msgid "Source: `WikiPedia <wiki>`_" msgid "Source: `WikiPedia <wiki>`_"
msgstr "" msgstr "Джерело: `WikiPedia <wiki>`_"
#: ../../dispatcher/finite_state_machine/index.rst:22 #: ../../dispatcher/finite_state_machine/index.rst:22
msgid "Usage example" msgid "Usage example"
msgstr "" msgstr "Приклад використання"
#: ../../dispatcher/finite_state_machine/index.rst:24 #: ../../dispatcher/finite_state_machine/index.rst:24
msgid "" msgid ""
"Not all functionality of the bot can be implemented as single handler, " "Not all functionality of the bot can be implemented as single handler, for "
"for example you will need to collect some data from user in separated " "example you will need to collect some data from user in separated steps you "
"steps you will need to use FSM." "will need to use FSM."
msgstr "" msgstr ""
"Не всі функції бота можна реалізувати як єдиний обробник (handler), наприклад, "
"якщо Вам потрібно буде збирати деякі дані від користувача в окремих кроках, "
"вам потрібно буде використовувати FSM."
#: ../../dispatcher/finite_state_machine/index.rst:-1 #: ../../dispatcher/finite_state_machine/index.rst:-1
msgid "FSM Example" msgid "FSM Example"
msgstr "" msgstr "Приклад кінцевого автомату"
#: ../../dispatcher/finite_state_machine/index.rst:31 #: ../../dispatcher/finite_state_machine/index.rst:31
msgid "Let's see how to do that step-by-step" msgid "Let's see how to do that step-by-step"
msgstr "" msgstr "Гайда, подивимось як реалізувати це крок за кроком"
#: ../../dispatcher/finite_state_machine/index.rst:34 #: ../../dispatcher/finite_state_machine/index.rst:34
msgid "Step by step" msgid "Step by step"
msgstr "" msgstr "Крок за кроком"
#: ../../dispatcher/finite_state_machine/index.rst:36 #: ../../dispatcher/finite_state_machine/index.rst:36
msgid "" msgid ""
"Before handle any states you will need to specify what kind of states you" "Before handle any states you will need to specify what kind of states you want "
" want to handle" "to handle"
msgstr "" msgstr ""
"Перед обробкою будь-яких станів Вам потрібно буде вказати тип станів, які Ви "
"хочете обробляти"
#: ../../dispatcher/finite_state_machine/index.rst:44 #: ../../dispatcher/finite_state_machine/index.rst:44
msgid "And then write handler for each state separately from the start of dialog" msgid "And then write handler for each state separately from the start of dialog"
msgstr "" msgstr ""
"А потім напишіть обробник (handler) для кожного стану окремо від початку "
"діалогу"
#: ../../dispatcher/finite_state_machine/index.rst:46 #: ../../dispatcher/finite_state_machine/index.rst:46
msgid "" msgid ""
"Here is dialog can be started only via command :code:`/start`, so lets " "Here is dialog can be started only via command :code:`/start`, so lets handle "
"handle it and make transition user to state :code:`Form.name`" "it and make transition user to state :code:`Form.name`"
msgstr "" msgstr ""
"Тут діалог можна почати лише за допомогою команди :code:`/start`, тому давайте "
"обробимо її та зробимо перехід користувача до стану :code:`Form.name`"
#: ../../dispatcher/finite_state_machine/index.rst:54 #: ../../dispatcher/finite_state_machine/index.rst:54
msgid "" msgid ""
"After that you will need to save some data to the storage and make " "After that you will need to save some data to the storage and make transition "
"transition to next step." "to next step."
msgstr "" msgstr ""
"Після цього Вам потрібно буде зберегти деякі дані в пам’яті та перейти до "
"наступного кроку."
#: ../../dispatcher/finite_state_machine/index.rst:62 #: ../../dispatcher/finite_state_machine/index.rst:62
msgid "" msgid ""
"At the next steps user can make different answers, it can be `yes`, `no` " "At the next steps user can make different answers, it can be `yes`, `no` or "
"or any other" "any other"
msgstr "" msgstr ""
"На наступних кроках користувач може дати різні відповіді, це може бути «так», "
"«ні» або будь-що інше"
#: ../../dispatcher/finite_state_machine/index.rst:64 #: ../../dispatcher/finite_state_machine/index.rst:64
msgid "Handle :code:`yes` and soon we need to handle :code:`Form.language` state" msgid "Handle :code:`yes` and soon we need to handle :code:`Form.language` state"
msgstr "" msgstr ""
"Обробка :code:`yes` і скоро нам потрібно буде обробити стан :code:`Form."
"language`"
#: ../../dispatcher/finite_state_machine/index.rst:72 #: ../../dispatcher/finite_state_machine/index.rst:72
msgid "Handle :code:`no`" msgid "Handle :code:`no`"
msgstr "" msgstr "Обробка :code:`no`"
#: ../../dispatcher/finite_state_machine/index.rst:80 #: ../../dispatcher/finite_state_machine/index.rst:80
msgid "And handle any other answers" msgid "And handle any other answers"
msgstr "" msgstr "І обробка будь-яких інших відповідей"
#: ../../dispatcher/finite_state_machine/index.rst:88 #: ../../dispatcher/finite_state_machine/index.rst:88
msgid "" msgid ""
"All possible cases of `like_bots` step was covered, let's implement " "All possible cases of `like_bots` step was covered, let's implement finally "
"finally step" "step"
msgstr "" msgstr ""
"Всі можливі випадки кроку `like_bots` було розглянуто, нумо реалізуємо "
"останній крок"
#: ../../dispatcher/finite_state_machine/index.rst:96 #: ../../dispatcher/finite_state_machine/index.rst:96
msgid "" msgid ""
"And now you have covered all steps from the image, but you can make " "And now you have covered all steps from the image, but you can make "
"possibility to cancel conversation, lets do that via command or text" "possibility to cancel conversation, lets do that via command or text"
msgstr "" msgstr ""
"І тепер Ви виконали всі кроки на зображенні, але ви можете зробити можливість "
"скасувати діалог, давайте зробимо це за допомогою команди або тексту"
#: ../../dispatcher/finite_state_machine/index.rst:105 #: ../../dispatcher/finite_state_machine/index.rst:105
msgid "Complete example" msgid "Complete example"
msgstr "" msgstr "Повний приклад"
#: ../../dispatcher/finite_state_machine/index.rst:112 #: ../../dispatcher/finite_state_machine/index.rst:112
msgid "Read more" msgid "Read more"
msgstr "" msgstr "Читайте також"

View file

@ -3,166 +3,77 @@
# This file is distributed under the same license as the aiogram package. # This file is distributed under the same license as the aiogram package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: aiogram \n" "Project-Id-Version: aiogram\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-01 22:51+0300\n" "POT-Creation-Date: 2022-10-19 02:13+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2022-10-20 22:00+0300\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.10.3\n" "Generated-By: Babel 2.10.3\n"
"X-Generator: Poedit 3.1.1\n"
#: ../../dispatcher/finite_state_machine/storages.rst:3 #: ../../dispatcher/finite_state_machine/storages.rst:3
msgid "Storages" msgid "Storages"
msgstr "" msgstr "Сховища"
#: ../../dispatcher/finite_state_machine/storages.rst:6 #: ../../dispatcher/finite_state_machine/storages.rst:6
msgid "Storages out of the box" msgid "Storages out of the box"
msgstr "" msgstr "Вбудоване сховище"
#: ../../dispatcher/finite_state_machine/storages.rst:9 #: ../../dispatcher/finite_state_machine/storages.rst:9
msgid "MemoryStorage" msgid "MemoryStorage"
msgstr "" msgstr "MemoryStorage"
#: aiogram.fsm.storage.memory.MemoryStorage:1 of #: aiogram.fsm.storage.memory.MemoryStorage:1 of
msgid "" msgid ""
"Default FSM storage, stores all data in :class:`dict` and loss everything" "Default FSM storage, stores all data in :class:`dict` and loss "
" on shutdown" "everything on shutdown"
msgstr "" msgstr ""
"Сховище кінцевого автомату за замовчуванням, зберігає всі дані в :class:"
"`dict` і забуває все під час вимкнення"
#: aiogram.fsm.storage.memory.MemoryStorage:5 of #: aiogram.fsm.storage.memory.MemoryStorage:5 of
msgid "" msgid ""
"Is not recommended using in production in due to you will lose all data " "Is not recommended using in production in due to you will lose all data "
"when your bot restarts" "when your bot restarts"
msgstr "" msgstr ""
"Не рекомендується використовувати на production, оскільки, Ви втратите "
"всі дані під час перезапуску бота"
#: ../../dispatcher/finite_state_machine/storages.rst:16 #: ../../dispatcher/finite_state_machine/storages.rst:16
msgid "RedisStorage" msgid "RedisStorage"
msgstr "" msgstr "RedisStorage"
#: aiogram.fsm.storage.redis.RedisStorage:1 of #: ../../dispatcher/finite_state_machine/storages.rst:22
msgid "" msgid "Keys inside storage can be customized via key builders:"
"Redis storage required :code:`aioredis` package installed (:code:`pip "
"install aioredis`)"
msgstr "" msgstr ""
"Ключі всередині сховища можна налаштувати за допомогою конструкторів "
"ключів:"
#: ../../dispatcher/finite_state_machine/storages.rst:34
msgid "Writing own storages"
msgstr "Написання власних сховищ"
#: aiogram.fsm.storage.base.BaseStorage:1 of
msgid "Base class for all FSM storages"
msgstr "Основний клас для всіх сховищ кінцевого автомату"
#: aiogram.fsm.storage.base.BaseStorage.set_state:1 of
msgid "Set state for specified key"
msgstr "Установити стан для вказаного ключа"
#: aiogram.fsm.storage.base.BaseStorage.get_data #: aiogram.fsm.storage.base.BaseStorage.get_data
#: aiogram.fsm.storage.base.BaseStorage.get_state #: aiogram.fsm.storage.base.BaseStorage.get_state
#: aiogram.fsm.storage.base.BaseStorage.set_data #: aiogram.fsm.storage.base.BaseStorage.set_data
#: aiogram.fsm.storage.base.BaseStorage.set_state #: aiogram.fsm.storage.base.BaseStorage.set_state
#: aiogram.fsm.storage.base.BaseStorage.update_data #: aiogram.fsm.storage.base.BaseStorage.update_data of
#: aiogram.fsm.storage.redis.DefaultKeyBuilder.build
#: aiogram.fsm.storage.redis.KeyBuilder.build
#: aiogram.fsm.storage.redis.RedisStorage.__init__
#: aiogram.fsm.storage.redis.RedisStorage.from_url of
msgid "Parameters" msgid "Parameters"
msgstr "" msgstr "Параметри"
#: aiogram.fsm.storage.redis.RedisStorage.__init__:1 of
msgid "Instance of Redis connection"
msgstr ""
#: aiogram.fsm.storage.redis.RedisStorage.__init__:2 of
msgid "builder that helps to convert contextual key to string"
msgstr ""
#: aiogram.fsm.storage.redis.RedisStorage.__init__:3 of
msgid "TTL for state records"
msgstr ""
#: aiogram.fsm.storage.redis.RedisStorage.__init__:4 of
msgid "TTL for data records"
msgstr ""
#: aiogram.fsm.storage.redis.RedisStorage.__init__:5 of
msgid "Custom arguments for Redis lock"
msgstr ""
#: aiogram.fsm.storage.redis.RedisStorage.from_url:1 of
msgid ""
"Create an instance of :class:`RedisStorage` with specifying the "
"connection string"
msgstr ""
#: aiogram.fsm.storage.redis.RedisStorage.from_url:3 of
msgid "for example :code:`redis://user:password@host:port/db`"
msgstr ""
#: aiogram.fsm.storage.redis.RedisStorage.from_url:4 of
msgid "see :code:`aioredis` docs"
msgstr ""
#: aiogram.fsm.storage.redis.RedisStorage.from_url:5 of
msgid "arguments to be passed to :class:`RedisStorage`"
msgstr ""
#: aiogram.fsm.storage.base.BaseStorage.get_data
#: aiogram.fsm.storage.base.BaseStorage.get_state
#: aiogram.fsm.storage.base.BaseStorage.update_data
#: aiogram.fsm.storage.redis.DefaultKeyBuilder.build
#: aiogram.fsm.storage.redis.KeyBuilder.build
#: aiogram.fsm.storage.redis.RedisStorage.from_url of
msgid "Returns"
msgstr ""
#: aiogram.fsm.storage.redis.RedisStorage.from_url:6 of
msgid "an instance of :class:`RedisStorage`"
msgstr ""
#: ../../dispatcher/finite_state_machine/storages.rst:22
msgid "Keys inside storage can be customized via key builders:"
msgstr ""
#: aiogram.fsm.storage.redis.KeyBuilder:1 of
msgid "Base class for Redis key builder"
msgstr ""
#: aiogram.fsm.storage.redis.DefaultKeyBuilder.build:1
#: aiogram.fsm.storage.redis.KeyBuilder.build:1 of
msgid "This method should be implemented in subclasses"
msgstr ""
#: aiogram.fsm.storage.redis.DefaultKeyBuilder.build:3
#: aiogram.fsm.storage.redis.KeyBuilder.build:3 of
msgid "contextual key"
msgstr ""
#: aiogram.fsm.storage.redis.DefaultKeyBuilder.build:4
#: aiogram.fsm.storage.redis.KeyBuilder.build:4 of
msgid "part of the record"
msgstr ""
#: aiogram.fsm.storage.redis.DefaultKeyBuilder.build:5
#: aiogram.fsm.storage.redis.KeyBuilder.build:5 of
msgid "key to be used in Redis queries"
msgstr ""
#: aiogram.fsm.storage.redis.DefaultKeyBuilder:1 of
msgid "Simple Redis key builder with default prefix."
msgstr ""
#: aiogram.fsm.storage.redis.DefaultKeyBuilder:3 of
msgid ""
"Generates a colon-joined string with prefix, chat_id, user_id, optional "
"bot_id and optional destiny."
msgstr ""
#: ../../dispatcher/finite_state_machine/storages.rst:34
msgid "Writing own storages"
msgstr ""
#: aiogram.fsm.storage.base.BaseStorage:1 of
msgid "Base class for all FSM storages"
msgstr ""
#: aiogram.fsm.storage.base.BaseStorage.set_state:1 of
msgid "Set state for specified key"
msgstr ""
#: aiogram.fsm.storage.base.BaseStorage.get_data:3 #: aiogram.fsm.storage.base.BaseStorage.get_data:3
#: aiogram.fsm.storage.base.BaseStorage.get_state:3 #: aiogram.fsm.storage.base.BaseStorage.get_state:3
@ -170,7 +81,7 @@ msgstr ""
#: aiogram.fsm.storage.base.BaseStorage.set_state:3 #: aiogram.fsm.storage.base.BaseStorage.set_state:3
#: aiogram.fsm.storage.base.BaseStorage.update_data:3 of #: aiogram.fsm.storage.base.BaseStorage.update_data:3 of
msgid "instance of the current bot" msgid "instance of the current bot"
msgstr "" msgstr "екземпляр поточного бота"
#: aiogram.fsm.storage.base.BaseStorage.get_data:4 #: aiogram.fsm.storage.base.BaseStorage.get_data:4
#: aiogram.fsm.storage.base.BaseStorage.get_state:4 #: aiogram.fsm.storage.base.BaseStorage.get_state:4
@ -178,45 +89,51 @@ msgstr ""
#: aiogram.fsm.storage.base.BaseStorage.set_state:4 #: aiogram.fsm.storage.base.BaseStorage.set_state:4
#: aiogram.fsm.storage.base.BaseStorage.update_data:4 of #: aiogram.fsm.storage.base.BaseStorage.update_data:4 of
msgid "storage key" msgid "storage key"
msgstr "" msgstr "ключ сховища"
#: aiogram.fsm.storage.base.BaseStorage.set_state:5 of #: aiogram.fsm.storage.base.BaseStorage.set_state:5 of
msgid "new state" msgid "new state"
msgstr "" msgstr "новий стан"
#: aiogram.fsm.storage.base.BaseStorage.get_state:1 of #: aiogram.fsm.storage.base.BaseStorage.get_state:1 of
msgid "Get key state" msgid "Get key state"
msgstr "" msgstr "Отримання стану ключа"
#: aiogram.fsm.storage.base.BaseStorage.get_data
#: aiogram.fsm.storage.base.BaseStorage.get_state
#: aiogram.fsm.storage.base.BaseStorage.update_data of
msgid "Returns"
msgstr "Повертає"
#: aiogram.fsm.storage.base.BaseStorage.get_state:5 of #: aiogram.fsm.storage.base.BaseStorage.get_state:5 of
msgid "current state" msgid "current state"
msgstr "" msgstr "поточний стан"
#: aiogram.fsm.storage.base.BaseStorage.set_data:1 of #: aiogram.fsm.storage.base.BaseStorage.set_data:1 of
msgid "Write data (replace)" msgid "Write data (replace)"
msgstr "" msgstr "Запис даних (заміна)"
#: aiogram.fsm.storage.base.BaseStorage.set_data:5 #: aiogram.fsm.storage.base.BaseStorage.set_data:5
#: aiogram.fsm.storage.base.BaseStorage.update_data:6 of #: aiogram.fsm.storage.base.BaseStorage.update_data:6 of
msgid "new data" msgid "new data"
msgstr "" msgstr "нові дані"
#: aiogram.fsm.storage.base.BaseStorage.get_data:1 of #: aiogram.fsm.storage.base.BaseStorage.get_data:1 of
msgid "Get current data for key" msgid "Get current data for key"
msgstr "" msgstr "Отримання поточних даних для ключа"
#: aiogram.fsm.storage.base.BaseStorage.get_data:5 of #: aiogram.fsm.storage.base.BaseStorage.get_data:5 of
msgid "current data" msgid "current data"
msgstr "" msgstr "нинішні дані"
#: aiogram.fsm.storage.base.BaseStorage.update_data:1 of #: aiogram.fsm.storage.base.BaseStorage.update_data:1 of
msgid "Update date in the storage for key (like dict.update)" msgid "Update date in the storage for key (like dict.update)"
msgstr "" msgstr "Дата оновлення в сховищі для ключа (наприклад, dict.update)"
#: aiogram.fsm.storage.base.BaseStorage.update_data:5 of #: aiogram.fsm.storage.base.BaseStorage.update_data:5 of
msgid "partial data" msgid "partial data"
msgstr "" msgstr "неповні дані"
#: aiogram.fsm.storage.base.BaseStorage.close:1 of #: aiogram.fsm.storage.base.BaseStorage.close:1 of
msgid "Close storage (database connection, file or etc.)" msgid "Close storage (database connection, file or etc.)"
msgstr "" msgstr "Закриття сховища (підключення до бази даних, файлу тощо)"

View file

@ -3,179 +3,211 @@
# This file is distributed under the same license as the aiogram package. # This file is distributed under the same license as the aiogram package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: aiogram \n" "Project-Id-Version: aiogram\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-01 22:51+0300\n" "POT-Creation-Date: 2022-10-01 22:51+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2022-10-20 20:56+0300\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.10.3\n" "Generated-By: Babel 2.10.3\n"
"X-Generator: Poedit 3.1.1\n"
#: ../../dispatcher/middlewares.rst:3 #: ../../dispatcher/middlewares.rst:3
msgid "Middlewares" msgid "Middlewares"
msgstr "" msgstr "Проміжні програми"
#: ../../dispatcher/middlewares.rst:5 #: ../../dispatcher/middlewares.rst:5
msgid "" msgid ""
"**aiogram** provides powerful mechanism for customizing event handlers " "**aiogram** provides powerful mechanism for customizing event handlers via "
"via middlewares." "middlewares."
msgstr "" msgstr ""
"**aiogram** надає потужний механізм для налаштування обробників(handler) "
"подій через проміжні програми."
#: ../../dispatcher/middlewares.rst:7 #: ../../dispatcher/middlewares.rst:7
msgid "" msgid ""
"Middlewares in bot framework seems like Middlewares mechanism in web-" "Middlewares in bot framework seems like Middlewares mechanism in web-"
"frameworks like `aiohttp " "frameworks like `aiohttp <https://docs.aiohttp.org/en/stable/web_advanced."
"<https://docs.aiohttp.org/en/stable/web_advanced.html#aiohttp-web-" "html#aiohttp-web-middlewares>`_, `fastapi <https://fastapi.tiangolo.com/"
"middlewares>`_, `fastapi " "tutorial/middleware/>`_, `Django <https://docs.djangoproject.com/en/3.0/"
"<https://fastapi.tiangolo.com/tutorial/middleware/>`_, `Django " "topics/http/middleware/>`_ or etc.) with small difference - here is "
"<https://docs.djangoproject.com/en/3.0/topics/http/middleware/>`_ or " "implemented two layers of middlewares (before and after filters)."
"etc.) with small difference - here is implemented two layers of "
"middlewares (before and after filters)."
msgstr "" msgstr ""
"Проміжні програми у фреймворку для ботів виглядають як механізм проміжних "
"програм у веб-фреймворках, таких як `aiohttp <https://docs.aiohttp.org/en/"
"stable/web_advanced.html#aiohttp-web-middlewares>`_, `fastapi <https://"
"fastapi.tiangolo.com/tutorial/middleware/>`_, `Django <https://docs."
"djangoproject.com/en/3.0/topics/http/middleware/>`_ тощо) з невеликою "
"різницею тут реалізовано два рівні проміжного програмних програм (до та "
"після фільтрів)."
#: ../../dispatcher/middlewares.rst:15 #: ../../dispatcher/middlewares.rst:15
msgid "" msgid ""
"Middleware is function that triggered on every event received from " "Middleware is function that triggered on every event received from Telegram "
"Telegram Bot API in many points on processing pipeline." "Bot API in many points on processing pipeline."
msgstr "" msgstr ""
"Проміжна програма — це функція, яка запускається під час кожної події, "
"отриманої від Telegram Bot API у багатьох точках процесу обробки."
#: ../../dispatcher/middlewares.rst:19 #: ../../dispatcher/middlewares.rst:19
msgid "Base theory" msgid "Base theory"
msgstr "" msgstr "Основні поняття"
#: ../../dispatcher/middlewares.rst:21 #: ../../dispatcher/middlewares.rst:21
msgid "As many books and other literature in internet says:" msgid "As many books and other literature in internet says:"
msgstr "" msgstr "Більшість книг та Інтернет-джерел стверджують:"
#: ../../dispatcher/middlewares.rst:23 #: ../../dispatcher/middlewares.rst:23
msgid "" msgid ""
"Middleware is reusable software that leverages patterns and frameworks to" "Middleware is reusable software that leverages patterns and frameworks to "
" bridge the gap between the functional requirements of applications and " "bridge the gap between the functional requirements of applications and the "
"the underlying operating systems, network protocol stacks, and databases." "underlying operating systems, network protocol stacks, and databases."
msgstr "" msgstr ""
"Проміжна програма — це програма, багаторазового використання, що "
"використовує шаблони та фреймворки для ліквідування розриву між "
"функціональними вимогами додатків і основними операційними системами, "
"стеками мережевих протоколів і базами даних."
#: ../../dispatcher/middlewares.rst:27 #: ../../dispatcher/middlewares.rst:27
msgid "" msgid ""
"Middleware can modify, extend or reject processing event in many places " "Middleware can modify, extend or reject processing event in many places of "
"of pipeline." "pipeline."
msgstr "" msgstr ""
"Проміжна програма може змінювати, розширювати або відхиляти подію обробки у "
"багатьох точках процесу обробки."
#: ../../dispatcher/middlewares.rst:30 #: ../../dispatcher/middlewares.rst:30
msgid "Basics" msgid "Basics"
msgstr "" msgstr "Основи"
#: ../../dispatcher/middlewares.rst:32 #: ../../dispatcher/middlewares.rst:32
msgid "" msgid ""
"Middleware instance can be applied for every type of Telegram Event " "Middleware instance can be applied for every type of Telegram Event (Update, "
"(Update, Message, etc.) in two places" "Message, etc.) in two places"
msgstr "" msgstr ""
"Екземпляр проміжної програми можна застосувати для кожного типу події "
"Telegram (оновлення, повідомлення тощо) у двох місцях"
#: ../../dispatcher/middlewares.rst:34 #: ../../dispatcher/middlewares.rst:34
msgid "" msgid ""
"Outer scope - before processing filters " "Outer scope - before processing filters (:code:`<router>.<event>."
"(:code:`<router>.<event>.outer_middleware(...)`)" "outer_middleware(...)`)"
msgstr "" msgstr ""
"Зовнішня область - перед обробкою фільтрами (:code:`<router>.<event>."
"outer_middleware(...)`)"
#: ../../dispatcher/middlewares.rst:35 #: ../../dispatcher/middlewares.rst:35
msgid "" msgid ""
"Inner scope - after processing filters but before handler " "Inner scope - after processing filters but before handler (:code:`<router>."
"(:code:`<router>.<event>.middleware(...)`)" "<event>.middleware(...)`)"
msgstr "" msgstr ""
"Внутрішня область після обробки фільтрами, але перед обробником (handler) "
"(:code:`<router>.<event>.middleware(...)`)"
#: ../../dispatcher/middlewares.rst:-1 #: ../../dispatcher/middlewares.rst:-1
msgid "Middleware basics" msgid "Middleware basics"
msgstr "" msgstr "Основи проміжних програм"
#: ../../dispatcher/middlewares.rst:42 #: ../../dispatcher/middlewares.rst:42
msgid "" msgid ""
"Middleware should be subclass of :code:`BaseMiddleware` (:code:`from " "Middleware should be subclass of :code:`BaseMiddleware` (:code:`from aiogram "
"aiogram import BaseMiddleware`) or any async callable" "import BaseMiddleware`) or any async callable"
msgstr "" msgstr ""
"Проміжна програма має бути підкласом :code:`BaseMiddleware` (:code:`from "
"aiogram import BaseMiddleware`) або будь-якою асинхронною функцією"
#: ../../dispatcher/middlewares.rst:45 #: ../../dispatcher/middlewares.rst:45
msgid "Arguments specification" msgid "Arguments specification"
msgstr "" msgstr "Специфікація аргументів"
#: aiogram.dispatcher.middlewares.base.BaseMiddleware:1 of #: aiogram.dispatcher.middlewares.base.BaseMiddleware:1 of
msgid "Bases: :py:class:`~abc.ABC`" msgid "Bases: :py:class:`~abc.ABC`"
msgstr "" msgstr "Основа: :py:class:`~abc.ABC`"
#: aiogram.dispatcher.middlewares.base.BaseMiddleware:1 of #: aiogram.dispatcher.middlewares.base.BaseMiddleware:1 of
msgid "Generic middleware class" msgid "Generic middleware class"
msgstr "" msgstr "Узагальнений клас проміжних програм"
#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:1 of #: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:1 of
msgid "Execute middleware" msgid "Execute middleware"
msgstr "" msgstr "Виконання проміжної програми"
#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__ of #: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__ of
msgid "Parameters" msgid "Parameters"
msgstr "" msgstr "Параметри"
#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:3 of #: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:3 of
msgid "Wrapped handler in middlewares chain" msgid "Wrapped handler in middlewares chain"
msgstr "" msgstr "Обробник (handler), обгорнутий у ланцюжок проміжних програм"
#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:4 of #: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:4 of
msgid "Incoming event (Subclass of :class:`aiogram.types.base.TelegramObject`)" msgid "Incoming event (Subclass of :class:`aiogram.types.base.TelegramObject`)"
msgstr "" msgstr "Вхідна подія (підклас :class:`aiogram.types.base.TelegramObject`)"
#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:5 of #: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:5 of
msgid "Contextual data. Will be mapped to handler arguments" msgid "Contextual data. Will be mapped to handler arguments"
msgstr "" msgstr "Контекстні дані. Будуть зіставлені з аргументами обробника"
#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__ of #: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__ of
msgid "Returns" msgid "Returns"
msgstr "" msgstr "Повертає"
#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:6 of #: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:6 of
msgid ":class:`Any`" msgid ":class:`Any`"
msgstr "" msgstr ":class:`Any`"
#: ../../dispatcher/middlewares.rst:56 #: ../../dispatcher/middlewares.rst:56
msgid "Examples" msgid "Examples"
msgstr "" msgstr "Приклади"
#: ../../dispatcher/middlewares.rst:60 #: ../../dispatcher/middlewares.rst:60
msgid "" msgid ""
"Middleware should always call :code:`await handler(event, data)` to " "Middleware should always call :code:`await handler(event, data)` to "
"propagate event for next middleware/handler" "propagate event for next middleware/handler"
msgstr "" msgstr ""
"Проміжні програми мають завжди викликати :code:`await handler(event, "
"data)` , щоб передавати подію для наступної проміжної програми/обробника "
"(handler)"
#: ../../dispatcher/middlewares.rst:64 #: ../../dispatcher/middlewares.rst:64
msgid "Class-based" msgid "Class-based"
msgstr "" msgstr "Класово орієнтований"
#: ../../dispatcher/middlewares.rst:85 #: ../../dispatcher/middlewares.rst:85
msgid "and then" msgid "and then"
msgstr "" msgstr "і тоді"
#: ../../dispatcher/middlewares.rst:94 #: ../../dispatcher/middlewares.rst:94
msgid "Function-based" msgid "Function-based"
msgstr "" msgstr "Функціонально-орієнтований"
#: ../../dispatcher/middlewares.rst:109 #: ../../dispatcher/middlewares.rst:109
msgid "Facts" msgid "Facts"
msgstr "" msgstr "Факти"
#: ../../dispatcher/middlewares.rst:111 #: ../../dispatcher/middlewares.rst:111
msgid "Middlewares from outer scope will be called on every incoming event" msgid "Middlewares from outer scope will be called on every incoming event"
msgstr "" msgstr ""
"Проміжні програми із зовнішньої області викликатимуться під час кожної "
"вхідної події"
#: ../../dispatcher/middlewares.rst:112 #: ../../dispatcher/middlewares.rst:112
msgid "Middlewares from inner scope will be called only when filters pass" msgid "Middlewares from inner scope will be called only when filters pass"
msgstr "" msgstr ""
"Проміжні програми із внутрішньої області викликатимуться лише після "
"проходження фільтрів"
#: ../../dispatcher/middlewares.rst:113 #: ../../dispatcher/middlewares.rst:113
msgid "" msgid ""
"Inner middlewares is always calls for " "Inner middlewares is always calls for :class:`aiogram.types.update.Update` "
":class:`aiogram.types.update.Update` event type in due to all incoming " "event type in due to all incoming updates going to specific event type "
"updates going to specific event type handler through built in update " "handler through built in update handler"
"handler"
msgstr "" msgstr ""
"Внутрішні проміжні програми викликають тип події :class:`aiogram.types."
"update.Update` , через те, що всі вхідні оновлення надходять до обробника "
"(handler) певного типу подій через вбудований обробник (handler) оновлень"