# SOME DESCRIPTIVE TITLE. # Copyright (C) 2022, aiogram Team # This file is distributed under the same license as the aiogram package. # FIRST AUTHOR , 2022. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: aiogram \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-14 19:29+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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" #: ../../utils/i18n.rst:3 msgid "Translation" msgstr "" #: ../../utils/i18n.rst:5 msgid "" "In order to make you bot translatable you have to add a minimal number of" " hooks to your Python code." msgstr "" #: ../../utils/i18n.rst:7 msgid "These hooks are called translation strings." msgstr "" #: ../../utils/i18n.rst:9 msgid "" "The aiogram translation utils is build on top of `GNU gettext Python " "module `_ and `Babel " "library `_." msgstr "" #: ../../utils/i18n.rst:13 msgid "Installation" msgstr "" #: ../../utils/i18n.rst:15 msgid "" "Babel is required to make simple way to extract translation strings from " "your code" msgstr "" #: ../../utils/i18n.rst:17 msgid "Can be installed from pip directly:" msgstr "" #: ../../utils/i18n.rst:24 msgid "or as `aiogram` extra dependency:" msgstr "" #: ../../utils/i18n.rst:32 msgid "Make messages translatable" msgstr "" #: ../../utils/i18n.rst:34 msgid "" "In order to gettext need to know what the strings should be translated " "you will need to write translation strings." msgstr "" #: ../../utils/i18n.rst:36 msgid "For example:" msgstr "" #: ../../utils/i18n.rst:54 msgid "" "f-strings can't be used as translations string because any dynamic " "variables should be added to message after getting translated message" msgstr "" #: ../../utils/i18n.rst:57 msgid "" "Also if you want to use translated string in keyword- or magic- filters " "you will need to use lazy gettext calls:" msgstr "" #: ../../utils/i18n.rst:72 msgid "" "Lazy gettext calls should always be used when the current language is not" " know at the moment" msgstr "" #: ../../utils/i18n.rst:77 msgid "" "Lazy gettext can't be used as value for API methods or any Telegram " "Object (like " ":class:`aiogram.types.inline_keyboard_button.InlineKeyboardButton` or " "etc.)" msgstr "" #: ../../utils/i18n.rst:80 msgid "Configuring engine" msgstr "" #: ../../utils/i18n.rst:82 msgid "" "After you messages is already done to use gettext your bot should know " "how to detect user language" msgstr "" #: ../../utils/i18n.rst:84 msgid "" "On top of your application the instance of " ":class:`aiogram.utils.i18n.I18n` should be created" msgstr "" #: ../../utils/i18n.rst:92 msgid "" "After that you will need to choose one of builtin I18n middleware or " "write your own." msgstr "" #: ../../utils/i18n.rst:94 msgid "Builtin middlewares:" msgstr "" #: ../../utils/i18n.rst:98 msgid "SimpleI18nMiddleware" msgstr "" #: aiogram.utils.i18n.middleware.SimpleI18nMiddleware:1 of msgid "Simple I18n middleware." msgstr "" #: aiogram.utils.i18n.middleware.SimpleI18nMiddleware:3 of msgid "Chooses language code from the User object received in event" msgstr "" #: aiogram.utils.i18n.middleware.ConstI18nMiddleware.__init__:1 #: aiogram.utils.i18n.middleware.FSMI18nMiddleware.__init__:1 #: aiogram.utils.i18n.middleware.I18nMiddleware.__init__:1 #: aiogram.utils.i18n.middleware.SimpleI18nMiddleware.__init__:1 of msgid "Create an instance of middleware" msgstr "" #: aiogram.utils.i18n.middleware.ConstI18nMiddleware.__init__ #: aiogram.utils.i18n.middleware.FSMI18nMiddleware.__init__ #: aiogram.utils.i18n.middleware.FSMI18nMiddleware.set_locale #: aiogram.utils.i18n.middleware.I18nMiddleware.__init__ #: aiogram.utils.i18n.middleware.I18nMiddleware.get_locale #: aiogram.utils.i18n.middleware.I18nMiddleware.setup #: aiogram.utils.i18n.middleware.SimpleI18nMiddleware.__init__ of msgid "Parameters" msgstr "" #: aiogram.utils.i18n.middleware.ConstI18nMiddleware.__init__:3 #: aiogram.utils.i18n.middleware.FSMI18nMiddleware.__init__:3 #: aiogram.utils.i18n.middleware.I18nMiddleware.__init__:3 #: aiogram.utils.i18n.middleware.SimpleI18nMiddleware.__init__:3 of msgid "instance of I18n" msgstr "" #: aiogram.utils.i18n.middleware.ConstI18nMiddleware.__init__:4 #: aiogram.utils.i18n.middleware.FSMI18nMiddleware.__init__:4 #: aiogram.utils.i18n.middleware.I18nMiddleware.__init__:4 #: aiogram.utils.i18n.middleware.SimpleI18nMiddleware.__init__:4 of msgid "context key for I18n instance" msgstr "" #: aiogram.utils.i18n.middleware.ConstI18nMiddleware.__init__:5 #: aiogram.utils.i18n.middleware.FSMI18nMiddleware.__init__:5 #: aiogram.utils.i18n.middleware.I18nMiddleware.__init__:5 #: aiogram.utils.i18n.middleware.SimpleI18nMiddleware.__init__:5 of msgid "context key for this middleware" msgstr "" #: ../../utils/i18n.rst:104 msgid "ConstI18nMiddleware" msgstr "" #: aiogram.utils.i18n.middleware.ConstI18nMiddleware:1 of msgid "Const middleware chooses statically defined locale" msgstr "" #: ../../utils/i18n.rst:110 msgid "FSMI18nMiddleware" msgstr "" #: aiogram.utils.i18n.middleware.FSMI18nMiddleware:1 of msgid "This middleware stores locale in the FSM storage" msgstr "" #: aiogram.utils.i18n.middleware.FSMI18nMiddleware.set_locale:1 of msgid "Write new locale to the storage" msgstr "" #: aiogram.utils.i18n.middleware.FSMI18nMiddleware.set_locale:3 of msgid "instance of FSMContext" msgstr "" #: aiogram.utils.i18n.middleware.FSMI18nMiddleware.set_locale:4 of msgid "new locale" msgstr "" #: ../../utils/i18n.rst:117 msgid "I18nMiddleware" msgstr "" #: ../../utils/i18n.rst:119 msgid "or define you own based on abstract I18nMiddleware middleware:" msgstr "" #: aiogram.utils.i18n.middleware.I18nMiddleware:1 of msgid "Abstract I18n middleware." msgstr "" #: aiogram.utils.i18n.middleware.I18nMiddleware.get_locale:1 of msgid "Detect current user locale based on event and context." msgstr "" #: aiogram.utils.i18n.middleware.I18nMiddleware.get_locale:3 of msgid "**This method must be defined in child classes**" msgstr "" #: aiogram.utils.i18n.middleware.I18nMiddleware.get_locale #: aiogram.utils.i18n.middleware.I18nMiddleware.setup of msgid "Returns" msgstr "" #: aiogram.utils.i18n.middleware.I18nMiddleware.setup:1 of msgid "Register middleware for all events in the Router" msgstr "" #: ../../utils/i18n.rst:126 msgid "Deal with Babel" msgstr "" #: ../../utils/i18n.rst:129 msgid "Step 1 Extract messages" msgstr "" #: ../../utils/i18n.rst:136 msgid "" "Here is :code:`--input-dirs=.` - path to code and the " ":code:`locales/messages.pot` is template where messages will be extracted" " and `messages` is translation domain." msgstr "" #: ../../utils/i18n.rst:141 msgid "Some useful options:" msgstr "" #: ../../utils/i18n.rst:143 msgid "Extract texts with pluralization support :code:`-k __:1,2`" msgstr "" #: ../../utils/i18n.rst:144 msgid "" "Add comments for translators, you can use another tag if you want (TR) " ":code:`--add-comments=NOTE`" msgstr "" #: ../../utils/i18n.rst:145 msgid "Disable comments with string location in code :code:`--no-location`" msgstr "" #: ../../utils/i18n.rst:146 msgid "Set project name :code:`--project=MySuperBot`" msgstr "" #: ../../utils/i18n.rst:147 msgid "Set version :code:`--version=2.2`" msgstr "" #: ../../utils/i18n.rst:151 msgid "Step 2: Init language" msgstr "" #: ../../utils/i18n.rst:157 msgid ":code:`-i locales/messages.pot` - pre-generated template" msgstr "" #: ../../utils/i18n.rst:158 msgid ":code:`-d locales` - translations directory" msgstr "" #: ../../utils/i18n.rst:159 msgid ":code:`-D messages` - translations domain" msgstr "" #: ../../utils/i18n.rst:160 msgid "" ":code:`-l en` - language. Can be changed to any other valid language code" " (For example :code:`-l uk` for ukrainian language)" msgstr "" #: ../../utils/i18n.rst:164 msgid "Step 3: Translate texts" msgstr "" #: ../../utils/i18n.rst:166 msgid "" "To open .po file you can use basic text editor or any PO editor, e.g. " "`Poedit `_" msgstr "" #: ../../utils/i18n.rst:168 msgid "" "Just open the file named " ":code:`locales/{language}/LC_MESSAGES/messages.po` and write translations" msgstr "" #: ../../utils/i18n.rst:171 msgid "Step 4: Compile translations" msgstr "" #: ../../utils/i18n.rst:179 msgid "Step 5: Updating messages" msgstr "" #: ../../utils/i18n.rst:181 msgid "When you change the code of your bot you need to update po & mo files" msgstr "" #: ../../utils/i18n.rst:183 msgid "Step 5.1: regenerate pot file: command from step 1" msgstr "" #: ../../utils/i18n.rst:187 msgid "Step 5.2: update po files" msgstr "" #: ../../utils/i18n.rst:189 msgid "" "Step 5.3: update your translations: location and tools you know from step" " 3" msgstr "" #: ../../utils/i18n.rst:190 msgid "Step 5.4: compile mo files: command from step 4" msgstr ""