Small documentation improvements and texts update

This commit is contained in:
Alex Root Junior 2023-08-26 23:18:20 +03:00
parent 806f8f67d5
commit ca4c1b4b95
No known key found for this signature in database
GPG key ID: 074C1D455EBEA4AC
41 changed files with 2160 additions and 1167 deletions

View file

@ -0,0 +1,96 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2023, aiogram Team
# This file is distributed under the same license as the aiogram package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: aiogram \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-08-26 23:17+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.12.1\n"
#: ../../dispatcher/dependency_injection.rst:3
msgid "Dependency injection"
msgstr ""
#: ../../dispatcher/dependency_injection.rst:5
msgid ""
"Dependency injection is a programming technique that makes a class "
"independent of its dependencies. It achieves that by decoupling the usage"
" of an object from its creation. This helps you to follow `SOLID's "
"<https://en.wikipedia.org/wiki/SOLID>`_ dependency inversion and single "
"responsibility principles."
msgstr ""
#: ../../dispatcher/dependency_injection.rst:12
msgid "How it works in aiogram"
msgstr ""
#: ../../dispatcher/dependency_injection.rst:14
msgid ""
"For each update :class:`aiogram.dispatcher.dispatcher.Dispatcher` passes "
"handling context data. Filters and middleware can also make changes to "
"the context."
msgstr ""
#: ../../dispatcher/dependency_injection.rst:17
msgid ""
"To access contextual data you should specify corresponding keyword "
"parameter in handler or filter. For example, to get "
":class:`aiogram.fsm.context.FSMContext` we do it like that:"
msgstr ""
#: ../../dispatcher/dependency_injection.rst:30
msgid "Injecting own dependencies"
msgstr ""
#: ../../dispatcher/dependency_injection.rst:32
msgid "Aiogram provides several ways to complement / modify contextual data."
msgstr ""
#: ../../dispatcher/dependency_injection.rst:34
msgid ""
"The first and easiest way is to simply specify the named arguments in "
":class:`aiogram.dispatcher.dispatcher.Dispatcher` initialization, polling"
" start methods or "
":class:`aiogram.webhook.aiohttp_server.SimpleRequestHandler` "
"initialization if you use webhooks."
msgstr ""
#: ../../dispatcher/dependency_injection.rst:46
msgid "Analogy for webhook:"
msgstr ""
#: ../../dispatcher/dependency_injection.rst:55
msgid ""
":class:`aiogram.dispatcher.dispatcher.Dispatcher`'s workflow data also "
"can be supplemented by setting values as in a dictionary:"
msgstr ""
#: ../../dispatcher/dependency_injection.rst:63
msgid ""
"The middlewares updates the context quite often. You can read more about "
"them on this page:"
msgstr ""
#: ../../dispatcher/dependency_injection.rst:66
msgid ":ref:`Middlewares <middlewares>`"
msgstr ""
#: ../../dispatcher/dependency_injection.rst:68
msgid "The last way is to return a dictionary from the filter:"
msgstr ""
#: ../../dispatcher/dependency_injection.rst:72
msgid ""
"...or using :ref:`MagicFilter <magic-filters>` with :code:`.as_(...)` "
"method."
msgstr ""

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: aiogram \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-30 18:31+0300\n"
"POT-Creation-Date: 2023-08-26 23:17+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -34,11 +34,11 @@ msgid ""
msgstr ""
#: ../../dispatcher/dispatcher.rst:9
msgid "`Router <router.html>`__"
msgid ":ref:`Router <Router>`"
msgstr ""
#: ../../dispatcher/dispatcher.rst:10
msgid "`Observer <observer.html>`__"
msgid ":ref:`Filtering events`"
msgstr ""
#: aiogram.dispatcher.dispatcher.Dispatcher:1
@ -176,3 +176,9 @@ msgstr ""
#~ msgid "Poling timeout"
#~ msgstr ""
#~ msgid "`Router <router.html>`__"
#~ msgstr ""
#~ msgid "`Observer <observer.html>`__"
#~ msgstr ""

View file

@ -8,90 +8,108 @@ msgid ""
msgstr ""
"Project-Id-Version: aiogram \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
"POT-Creation-Date: 2023-08-26 23:17+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.10.3\n"
"Generated-By: Babel 2.12.1\n"
#: ../../dispatcher/filters/chat_member_updated.rst:3
msgid "ChatMemberUpdated"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:10
#: ../../dispatcher/filters/chat_member_updated.rst:6
msgid "Usage"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:8
msgid "Handle user leave or join events"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:20
msgid ""
"Or construct your own terms via using pre-defined set of statuses and "
"transitions."
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:24
msgid "Explanation"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:31
msgid ""
"You can import from :code:`aiogram.filters` all available variants of "
"`statuses`_, `status groups`_ or `transitions`_:"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:14
#: ../../dispatcher/filters/chat_member_updated.rst:35
msgid "Statuses"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:17
#: ../../dispatcher/filters/chat_member_updated.rst:42
#: ../../dispatcher/filters/chat_member_updated.rst:62
#: ../../dispatcher/filters/chat_member_updated.rst:38
#: ../../dispatcher/filters/chat_member_updated.rst:63
#: ../../dispatcher/filters/chat_member_updated.rst:83
msgid "name"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:17
#: ../../dispatcher/filters/chat_member_updated.rst:42
#: ../../dispatcher/filters/chat_member_updated.rst:62
#: ../../dispatcher/filters/chat_member_updated.rst:38
#: ../../dispatcher/filters/chat_member_updated.rst:63
#: ../../dispatcher/filters/chat_member_updated.rst:83
msgid "Description"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:19
#: ../../dispatcher/filters/chat_member_updated.rst:40
msgid ":code:`CREATOR`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:19
#: ../../dispatcher/filters/chat_member_updated.rst:40
msgid "Chat owner"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:21
#: ../../dispatcher/filters/chat_member_updated.rst:42
msgid ":code:`ADMINISTRATOR`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:21
#: ../../dispatcher/filters/chat_member_updated.rst:42
msgid "Chat administrator"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:23
#: ../../dispatcher/filters/chat_member_updated.rst:44
msgid ":code:`MEMBER`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:23
#: ../../dispatcher/filters/chat_member_updated.rst:44
msgid "Member of the chat"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:25
#: ../../dispatcher/filters/chat_member_updated.rst:46
msgid ":code:`RESTRICTED`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:25
#: ../../dispatcher/filters/chat_member_updated.rst:46
msgid "Restricted user (can be not member)"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:27
#: ../../dispatcher/filters/chat_member_updated.rst:48
msgid ":code:`LEFT`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:27
#: ../../dispatcher/filters/chat_member_updated.rst:48
msgid "Isn't member of the chat"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:29
#: ../../dispatcher/filters/chat_member_updated.rst:50
msgid ":code:`KICKED`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:29
#: ../../dispatcher/filters/chat_member_updated.rst:50
msgid "Kicked member by administrators"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:32
#: ../../dispatcher/filters/chat_member_updated.rst:53
msgid ""
"Statuses can be extended with `is_member` flag by prefixing with "
":code:`+` (for :code:`is_member == True)` or :code:`-` (for "
@ -99,47 +117,47 @@ msgid ""
":code:`-RESTRICTED`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:37
#: ../../dispatcher/filters/chat_member_updated.rst:58
msgid "Status groups"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:39
#: ../../dispatcher/filters/chat_member_updated.rst:60
msgid ""
"The particular statuses can be combined via bitwise :code:`or` operator, "
"like :code:`CREATOR | ADMINISTRATOR`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:44
#: ../../dispatcher/filters/chat_member_updated.rst:65
msgid ":code:`IS_MEMBER`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:44
#: ../../dispatcher/filters/chat_member_updated.rst:65
msgid ""
"Combination of :code:`(CREATOR | ADMINISTRATOR | MEMBER | +RESTRICTED)` "
"statuses."
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:46
#: ../../dispatcher/filters/chat_member_updated.rst:67
msgid ":code:`IS_ADMIN`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:46
#: ../../dispatcher/filters/chat_member_updated.rst:67
msgid "Combination of :code:`(CREATOR | ADMINISTRATOR)` statuses."
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:48
#: ../../dispatcher/filters/chat_member_updated.rst:69
msgid ":code:`IS_NOT_MEMBER`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:48
#: ../../dispatcher/filters/chat_member_updated.rst:69
msgid "Combination of :code:`(LEFT | KICKED | -RESTRICTED)` statuses."
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:52
#: ../../dispatcher/filters/chat_member_updated.rst:73
msgid "Transitions"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:54
#: ../../dispatcher/filters/chat_member_updated.rst:75
msgid ""
"Transitions can be defined via bitwise shift operators :code:`>>` and "
":code:`<<`. Old chat member status should be defined in the left side for"
@ -148,77 +166,63 @@ msgid ""
":code:`<<`)"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:58
#: ../../dispatcher/filters/chat_member_updated.rst:79
msgid ""
"The direction of transition can be changed via bitwise inversion "
"operator: :code:`~JOIN_TRANSITION` will produce swap of old and new "
"statuses."
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:64
#: ../../dispatcher/filters/chat_member_updated.rst:85
msgid ":code:`JOIN_TRANSITION`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:64
#: ../../dispatcher/filters/chat_member_updated.rst:85
msgid ""
"Means status changed from :code:`IS_NOT_MEMBER` to :code:`IS_MEMBER` "
"(:code:`IS_NOT_MEMBER >> IS_MEMBER`)"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:67
#: ../../dispatcher/filters/chat_member_updated.rst:88
msgid ":code:`LEAVE_TRANSITION`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:67
#: ../../dispatcher/filters/chat_member_updated.rst:88
msgid ""
"Means status changed from :code:`IS_MEMBER` to :code:`IS_NOT_MEMBER` "
"(:code:`~JOIN_TRANSITION`)"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:70
#: ../../dispatcher/filters/chat_member_updated.rst:91
msgid ":code:`PROMOTED_TRANSITION`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:70
#: ../../dispatcher/filters/chat_member_updated.rst:91
msgid ""
"Means status changed from :code:`(MEMBER | RESTRICTED | LEFT | KICKED) >>"
" ADMINISTRATOR` (:code:`(MEMBER | RESTRICTED | LEFT | KICKED) >> "
"ADMINISTRATOR`)"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:77
#: ../../dispatcher/filters/chat_member_updated.rst:98
msgid ""
"Note that if you define the status unions (via :code:`|`) you will need "
"to add brackets for the statement before use shift operator in due to "
"operator priorities."
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:81
msgid "Usage"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:83
msgid "Handle user leave or join events"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:95
msgid ""
"Or construct your own terms via using pre-defined set of statuses and "
"transitions."
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:98
#: ../../dispatcher/filters/chat_member_updated.rst:103
msgid "Allowed handlers"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:100
#: ../../dispatcher/filters/chat_member_updated.rst:105
msgid "Allowed update types for this filter:"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:102
#: ../../dispatcher/filters/chat_member_updated.rst:107
msgid "`my_chat_member`"
msgstr ""
#: ../../dispatcher/filters/chat_member_updated.rst:103
#: ../../dispatcher/filters/chat_member_updated.rst:108
msgid "`chat_member`"
msgstr ""

View file

@ -8,106 +8,110 @@ msgid ""
msgstr ""
"Project-Id-Version: aiogram \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-25 22:10+0300\n"
"POT-Creation-Date: 2023-08-26 23:17+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.10.3\n"
"Generated-By: Babel 2.12.1\n"
#: ../../dispatcher/filters/magic_data.rst:3
msgid "MagicData"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:6
msgid "Usage"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:8
msgid ""
":code:`MagicData(F.event.from_user.id == F.config.admin_id)` (Note that "
":code:`config` should be passed from middleware)"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:11
msgid "Explanation"
msgstr ""
#: aiogram.filters.magic_data.MagicData:1 of
msgid "This filter helps to filter event with contextual data"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:10
#: ../../dispatcher/filters/magic_data.rst:18
msgid "Can be imported:"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:12
#: ../../dispatcher/filters/magic_data.rst:20
msgid ":code:`from aiogram.filters import MagicData`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:15
msgid "Usage"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:17
msgid ""
":code:`MagicData(F.event.from_user.id == F.config.admin_id)` (Note that "
":code:`config` should be passed from middleware)"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:21
#: ../../dispatcher/filters/magic_data.rst:24
msgid "Allowed handlers"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:23
#: ../../dispatcher/filters/magic_data.rst:26
msgid "Allowed update types for this filter:"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:25
#: ../../dispatcher/filters/magic_data.rst:28
msgid ":code:`message`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:26
#: ../../dispatcher/filters/magic_data.rst:29
msgid ":code:`edited_message`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:27
#: ../../dispatcher/filters/magic_data.rst:30
msgid ":code:`channel_post`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:28
#: ../../dispatcher/filters/magic_data.rst:31
msgid ":code:`edited_channel_post`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:29
#: ../../dispatcher/filters/magic_data.rst:32
msgid ":code:`inline_query`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:30
#: ../../dispatcher/filters/magic_data.rst:33
msgid ":code:`chosen_inline_result`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:31
#: ../../dispatcher/filters/magic_data.rst:34
msgid ":code:`callback_query`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:32
#: ../../dispatcher/filters/magic_data.rst:35
msgid ":code:`shipping_query`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:33
#: ../../dispatcher/filters/magic_data.rst:36
msgid ":code:`pre_checkout_query`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:34
#: ../../dispatcher/filters/magic_data.rst:37
msgid ":code:`poll`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:35
#: ../../dispatcher/filters/magic_data.rst:38
msgid ":code:`poll_answer`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:36
#: ../../dispatcher/filters/magic_data.rst:39
msgid ":code:`my_chat_member`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:37
#: ../../dispatcher/filters/magic_data.rst:40
msgid ":code:`chat_member`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:38
#: ../../dispatcher/filters/magic_data.rst:41
msgid ":code:`chat_join_request`"
msgstr ""
#: ../../dispatcher/filters/magic_data.rst:39
#: ../../dispatcher/filters/magic_data.rst:42
msgid ":code:`error`"
msgstr ""

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: aiogram \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-30 18:31+0300\n"
"POT-Creation-Date: 2023-08-26 23:17+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,10 +17,14 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.12.1\n"
#: ../../dispatcher/router.rst:3
#: ../../dispatcher/router.rst:5
msgid "Router"
msgstr ""
#: ../../dispatcher/router.rst:7
msgid "Usage:"
msgstr ""
#: aiogram.dispatcher.router.Router:1 of
msgid "Bases: :py:class:`object`"
msgstr ""
@ -86,11 +90,11 @@ msgstr ""
msgid "set of registered names"
msgstr ""
#: ../../dispatcher/router.rst:13
#: ../../dispatcher/router.rst:29
msgid "Event observers"
msgstr ""
#: ../../dispatcher/router.rst:17
#: ../../dispatcher/router.rst:33
msgid ""
"All handlers always should be asynchronous. The name of the handler "
"function is not important. The event argument name is also not important "
@ -98,145 +102,145 @@ msgid ""
" to function can not accept two arguments with the same name."
msgstr ""
#: ../../dispatcher/router.rst:20
#: ../../dispatcher/router.rst:36
msgid ""
"Here is the list of available observers and examples of how to register "
"handlers"
msgstr ""
#: ../../dispatcher/router.rst:22
#: ../../dispatcher/router.rst:38
msgid ""
"In these examples only decorator-style registering handlers are used, but"
" if you don't like @decorators just use :obj:`<event type>.register(...)`"
" method instead."
msgstr ""
#: ../../dispatcher/router.rst:25
#: ../../dispatcher/router.rst:41
msgid "Message"
msgstr ""
#: ../../dispatcher/router.rst:30
#: ../../dispatcher/router.rst:46
msgid "Be attentive with filtering this event"
msgstr ""
#: ../../dispatcher/router.rst:32
#: ../../dispatcher/router.rst:48
msgid ""
"You should expect that this event can be with different sets of "
"attributes in different cases"
msgstr ""
#: ../../dispatcher/router.rst:34
#: ../../dispatcher/router.rst:50
msgid ""
"(For example text, sticker and document are always of different content "
"types of message)"
msgstr ""
#: ../../dispatcher/router.rst:36
#: ../../dispatcher/router.rst:52
msgid ""
"Recommended way to check field availability before usage, for example via"
" :ref:`magic filter <magic-filters>`: :code:`F.text` to handle text, "
":code:`F.sticker` to handle stickers only and etc."
msgstr ""
#: ../../dispatcher/router.rst:47
#: ../../dispatcher/router.rst:63
msgid "Edited message"
msgstr ""
#: ../../dispatcher/router.rst:55
#: ../../dispatcher/router.rst:71
msgid "Channel post"
msgstr ""
#: ../../dispatcher/router.rst:63
#: ../../dispatcher/router.rst:79
msgid "Edited channel post"
msgstr ""
#: ../../dispatcher/router.rst:72
#: ../../dispatcher/router.rst:88
msgid "Inline query"
msgstr ""
#: ../../dispatcher/router.rst:80
#: ../../dispatcher/router.rst:96
msgid "Chosen inline query"
msgstr ""
#: ../../dispatcher/router.rst:88
#: ../../dispatcher/router.rst:104
msgid "Callback query"
msgstr ""
#: ../../dispatcher/router.rst:96
#: ../../dispatcher/router.rst:112
msgid "Shipping query"
msgstr ""
#: ../../dispatcher/router.rst:104
#: ../../dispatcher/router.rst:120
msgid "Pre checkout query"
msgstr ""
#: ../../dispatcher/router.rst:112
#: ../../dispatcher/router.rst:128
msgid "Poll"
msgstr ""
#: ../../dispatcher/router.rst:120
#: ../../dispatcher/router.rst:136
msgid "Poll answer"
msgstr ""
#: ../../dispatcher/router.rst:128
#: ../../dispatcher/router.rst:144
msgid "Errors"
msgstr ""
#: ../../dispatcher/router.rst:135
#: ../../dispatcher/router.rst:151
msgid ""
"Is useful for handling errors from other handlers, error event described "
":ref:`here <error-event>`"
msgstr ""
#: ../../dispatcher/router.rst:142
#: ../../dispatcher/router.rst:158
msgid "Nested routers"
msgstr ""
#: ../../dispatcher/router.rst:147
#: ../../dispatcher/router.rst:163
msgid ""
"Routers by the way can be nested to an another routers with some "
"limitations:"
msgstr ""
#: ../../dispatcher/router.rst:147
#: ../../dispatcher/router.rst:163
msgid ""
"1. Router **CAN NOT** include itself 1. Routers **CAN NOT** be used for "
"circular including (router 1 include router 2, router 2 include router 3,"
" router 3 include router 1)"
msgstr ""
#: ../../dispatcher/router.rst:151
#: ../../dispatcher/router.rst:167
msgid "Example:"
msgstr ""
#: ../../dispatcher/router.rst:153
#: ../../dispatcher/router.rst:169
msgid "module_1.py"
msgstr ""
#: ../../dispatcher/router.rst:163
#: ../../dispatcher/router.rst:179
msgid "module_2.py"
msgstr ""
#: ../../dispatcher/router.rst:175
#: ../../dispatcher/router.rst:191
msgid "Update"
msgstr ""
#: ../../dispatcher/router.rst:184
#: ../../dispatcher/router.rst:200
msgid "The only root Router (Dispatcher) can handle this type of event."
msgstr ""
#: ../../dispatcher/router.rst:188
#: ../../dispatcher/router.rst:204
msgid ""
"Dispatcher already has default handler for this event type, so you can "
"use it for handling all updates that are not handled by any other "
"handlers."
msgstr ""
#: ../../dispatcher/router.rst:191
#: ../../dispatcher/router.rst:207
msgid "How it works?"
msgstr ""
#: ../../dispatcher/router.rst:193
#: ../../dispatcher/router.rst:209
msgid ""
"For example, dispatcher has 2 routers, the last router also has one "
"nested router:"
@ -246,7 +250,7 @@ msgstr ""
msgid "Nested routers example"
msgstr ""
#: ../../dispatcher/router.rst:198
#: ../../dispatcher/router.rst:214
msgid "In this case update propagation flow will have form:"
msgstr ""