diff --git a/.github/workflows/po-lint.yml b/.github/workflows/po-lint.yml deleted file mode 100644 index ce73ecb16..000000000 --- a/.github/workflows/po-lint.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Linting Workflow - -on: - schedule: - - cron: '0 0 * * *' - push: - branches: - - '*' - workflow_dispatch: - -jobs: - lint: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - version: [ '3.15' ] - continue-on-error: true - steps: - - uses: actions/setup-python@master - with: - python-version: 3 - - run: pip install sphinx-lint - - uses: actions/checkout@master - with: - ref: ${{ matrix.version }} - - uses: rffontenelle/sphinx-lint-problem-matcher@v1.0.0 - - run: sphinx-lint \ No newline at end of file diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml deleted file mode 100644 index 9bb3e4944..000000000 --- a/.github/workflows/test-build.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: Test Build Workflow - -on: - schedule: - - cron: '0 0 * * *' - push: - branches: - - '*' - workflow_dispatch: - -jobs: - build-translation: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - version: [ '3.15' ] - format: [ html, latex, epub ] - steps: - - uses: actions/setup-python@master - with: - python-version: 3 - - uses: actions/checkout@master - with: - repository: python/cpython - ref: ${{ matrix.version }} - - run: make venv - working-directory: ./Doc - - uses: actions/checkout@master - with: - ref: ${{ matrix.version }} - path: Doc/locales/ru/LC_MESSAGES - - run: git pull - working-directory: ./Doc/locales/ru/LC_MESSAGES - - name: Install SVG converter for LaTeX build - if: matrix.format == 'latex' - run: | - sudo apt-get update - sudo apt-get install -y librsvg2-bin - - uses: sphinx-doc/github-problem-matcher@v1.1 - - run: make -e SPHINXOPTS="--color -D language='ru' -W --keep-going -D suppress_warnings='ref.term,i18n.inconsistent_references'" ${{ matrix.format }} - working-directory: ./Doc - - uses: actions/upload-artifact@master - if: success() || failure() - with: - name: build-${{ matrix.version }}-${{ matrix.format }} - path: Doc/build/${{ matrix.format }} - - output-pdf: - runs-on: ubuntu-latest - strategy: - matrix: - version: [ '3.15' ] - needs: [ 'build-translation' ] - steps: - - uses: actions/download-artifact@master - with: - name: build-${{ matrix.version }}-latex - - run: sudo apt-get update - - run: sudo apt-get install -y latexmk texlive-xetex fonts-freefont-otf xindy - - run: make - - uses: actions/upload-artifact@master - with: - name: build-${{ matrix.version }}-pdf - path: ./*.pdf \ No newline at end of file diff --git a/.github/workflows/transifex-pull.yml b/.github/workflows/transifex-pull.yml deleted file mode 100644 index 25a112553..000000000 --- a/.github/workflows/transifex-pull.yml +++ /dev/null @@ -1,83 +0,0 @@ -name: Pull Translations from Transifex - -on: - schedule: - - cron: '0 0 * * *' - workflow_dispatch: -permissions: - contents: write - -jobs: - update-translation: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - version: [ '3.15', '3.14', '3.13', '3.12', '3.11', '3.10' ] - steps: - - uses: styfle/cancel-workflow-action@main - with: - access_token: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/setup-python@master - with: - python-version: '3.12' - - name: Install Dependencies - run: | - set -euxo pipefail - sudo apt-get update - sudo apt-get install -y gettext curl tar - python -m pip install --upgrade pip - pip install requests cogapp polib transifex-python sphinx-intl blurb six - - # Install tx deterministically with retries instead of piping installer script. - TX_URL="https://github.com/transifex/cli/releases/latest/download/tx-linux-amd64.tar.gz" - curl -fL --retry 5 --retry-delay 2 --retry-connrefused "$TX_URL" -o /tmp/tx.tar.gz - tar -xzf /tmp/tx.tar.gz -C /tmp - sudo install -m 0755 /tmp/tx /usr/local/bin/tx - command -v tx - tx --version - - uses: actions/checkout@master - with: - ref: ${{ matrix.version }} - fetch-depth: 0 - - run: curl -fL -o transifex-util.py https://raw.githubusercontent.com/python-docs-translations/transifex-automations/master/sample-workflows/transifex-util.py - - run: chmod +x transifex-util.py - - name: Patch helper for cross-version Doc Makefile compatibility - run: | - python - <<'PY' - from pathlib import Path - - p = Path("transifex-util.py") - old = '_call("make -C cpython/Doc/ gettext")' - new = '_call("make -C cpython/Doc/ venv")\n _call("make -C cpython/Doc/ JOBS=1 gettext || make -C cpython/Doc/ JOBS=1 build BUILDER=gettext")' - s = p.read_text() - if old not in s: - raise SystemExit("Expected pattern was not found in transifex-util.py") - p.write_text(s.replace(old, new)) - PY - - run: ./transifex-util.py recreate_tx_config --language ru --project-slug python-newest --version ${{ matrix.version }} - env: - TX_TOKEN: ${{ secrets.TX_TOKEN }} - - run: ./transifex-util.py fetch --language ru --pull-options="--mode reviewed" --project-slug python-newest --version ${{ matrix.version }} - env: - TX_TOKEN: ${{ secrets.TX_TOKEN }} - - run: ./transifex-util.py delete_obsolete_files --language ru --project-slug python-newest --version ${{ matrix.version }} - - name: Set up Git - run: | - git config --local user.email github-actions@github.com - git config --local user.name "GitHub Action's update-translation job" - - run: git add . ':!transifex-util.py' - - name: Filter files - run: | - ! git diff --cached -I'^"POT-Creation-Date: ' \ - -I'^"Language-Team: ' \ - -I'^# ' -I'^"Last-Translator: ' \ - --exit-code \ - && echo "SIGNIFICANT_CHANGES=1" >> $GITHUB_ENV || exit 0 - - run: git commit -m 'Update translation from Transifex' - if: env.SIGNIFICANT_CHANGES == '1' - - uses: ad-m/github-push-action@master - if: env.SIGNIFICANT_CHANGES == '1' - with: - branch: ${{ matrix.version }} - github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.tx/config b/.tx/config new file mode 100644 index 000000000..15d2c8619 --- /dev/null +++ b/.tx/config @@ -0,0 +1,183 @@ +[main] +host = https://www.transifex.com + +[o:python-doc:p:python-newest:r:about] +file_filter = about.po +source_file = gettext/about.pot +type = PO +minimum_perc = 0 +resource_name = about +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:bugs] +file_filter = bugs.po +source_file = gettext/bugs.pot +type = PO +minimum_perc = 0 +resource_name = bugs +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:c-api] +file_filter = c-api.po +source_file = gettext/c-api.pot +type = PO +minimum_perc = 0 +resource_name = c-api +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:contents] +file_filter = contents.po +source_file = gettext/contents.pot +type = PO +minimum_perc = 0 +resource_name = contents +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:copyright] +file_filter = copyright.po +source_file = gettext/copyright.pot +type = PO +minimum_perc = 0 +resource_name = copyright +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:distributing] +file_filter = distributing.po +source_file = gettext/distributing.pot +type = PO +minimum_perc = 0 +resource_name = distributing +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:distutils] +file_filter = distutils.po +source_file = gettext/distutils.pot +type = PO +minimum_perc = 0 +resource_name = distutils +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:extending] +file_filter = extending.po +source_file = gettext/extending.pot +type = PO +minimum_perc = 0 +resource_name = extending +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:faq] +file_filter = faq.po +source_file = gettext/faq.pot +type = PO +minimum_perc = 0 +resource_name = faq +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:glossary_] +file_filter = glossary.po +source_file = gettext/glossary.pot +type = PO +minimum_perc = 0 +resource_name = glossary_ +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:howto] +file_filter = howto.po +source_file = gettext/howto.pot +type = PO +minimum_perc = 0 +resource_name = howto +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:install] +file_filter = install.po +source_file = gettext/install.pot +type = PO +minimum_perc = 0 +resource_name = install +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:installing] +file_filter = installing.po +source_file = gettext/installing.pot +type = PO +minimum_perc = 0 +resource_name = installing +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:library] +file_filter = library.po +source_file = gettext/library.pot +type = PO +minimum_perc = 0 +resource_name = library +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:license] +file_filter = license.po +source_file = gettext/license.pot +type = PO +minimum_perc = 0 +resource_name = license +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:reference] +file_filter = reference.po +source_file = gettext/reference.pot +type = PO +minimum_perc = 0 +resource_name = reference +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:sphinx] +file_filter = sphinx.po +source_file = gettext/sphinx.pot +type = PO +minimum_perc = 0 +resource_name = sphinx +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:tutorial] +file_filter = tutorial.po +source_file = gettext/tutorial.pot +type = PO +minimum_perc = 0 +resource_name = tutorial +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:using] +file_filter = using.po +source_file = gettext/using.pot +type = PO +minimum_perc = 0 +resource_name = using +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:whatsnew] +file_filter = whatsnew.po +source_file = gettext/whatsnew.pot +type = PO +minimum_perc = 0 +resource_name = whatsnew +replace_edited_strings = false +keep_translations = false + diff --git a/README.md b/README.md index 1cb142bf4..a5ca71656 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,3 @@ # RU Translation of the Python Documentation -All translations are done on [Transifex](https://explore.transifex.com/python-doc/python-newest/). - -## Documentation Contribution Agreement - -NOTE REGARDING THE LICENSE FOR TRANSLATIONS: Python's documentation is -maintained using a global network of volunteers. By posting this -project on Transifex, GitHub, and other public places, and inviting -you to participate, we are proposing an agreement that you will -provide your improvements to Python's documentation or the translation -of Python's documentation for the PSF's use under the CC0 license -(available at -https://creativecommons.org/publicdomain/zero/1.0/legalcode). In -return, you may publicly claim credit for the portion of the -translation you contributed and if your translation is accepted by the -PSF, you may (but are not required to) submit a patch including an -appropriate annotation in the Misc/ACKS or TRANSLATORS file. Although -nothing in this Documentation Contribution Agreement obligates the PSF -to incorporate your textual contribution, your participation in the -Python community is welcomed and appreciated. - -You signify acceptance of this agreement by submitting your work to -the PSF for inclusion in the documentation. - -## Contributing to the Translation - -Join the Russian team on Transifex to start. - -You're recommended to join -[our Telegram channel](https://t.me/py_docs_ru) first. +Check out [main](../../tree/main) branch for more information. diff --git a/about.po b/about.po new file mode 100644 index 000000000..4fabe47a3 --- /dev/null +++ b/about.po @@ -0,0 +1,94 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# Dmitry Luschan, 2026 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.15\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-08-21 14:26+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: Dmitry Luschan, 2026\n" +"Language-Team: Russian (https://app.transifex.com/python-doc/teams/5390/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +msgid "About this documentation" +msgstr "Об этой документации" + +msgid "" +"Python's documentation is generated from `reStructuredText`_ sources using " +"`Sphinx`_, a documentation generator originally created for Python and now " +"maintained as an independent project." +msgstr "" +"Документация Python создаётся из исходников в формате `reStructuredText`_с " +"помощью`Sphinx`_ — генератора документации, изначально созданного для " +"Python, а теперь поддерживаемого как независимый проект." + +msgid "" +"Development of the documentation and its toolchain is an entirely volunteer " +"effort, just like Python itself. If you want to contribute, please take a " +"look at the :ref:`reporting-bugs` page for information on how to do so. New " +"volunteers are always welcome!" +msgstr "" +"Разработка и совершенствование данной документации и её инструментов, как и " +"весь проект Python, поддерживается добровольцами. Если вы хотите внести свой " +"вклад, пожалуйста, ознакомьтесь со страницей :ref:`reporting-bugs`, где " +"описано, как это сделать. Мы всегда рады новым людям!" + +msgid "Many thanks go to:" +msgstr "Особой благодарности заслуживают:" + +msgid "" +"Fred L. Drake, Jr., the creator of the original Python documentation toolset " +"and author of much of the content;" +msgstr "" +"Фред Л. Дрейк младший, создатель оригинального набора инструментов для " +"документации Python и автор большей части контента;" + +msgid "" +"the `Docutils `_ project for creating " +"reStructuredText and the Docutils suite;" +msgstr "" +"проект `Docutils `_ за создание " +"reStructuredText и библиотеки Docutils;" + +msgid "" +"Fredrik Lundh for his Alternative Python Reference project from which Sphinx " +"got many good ideas." +msgstr "" +"Фредрик Лунд за его проект «Альтернативный справочник по Python», из " +"которого Sphinx получил много хороших идей." + +msgid "Contributors to the Python documentation" +msgstr "Авторы документации Python" + +msgid "" +"Many people have contributed to the Python language, the Python standard " +"library, and the Python documentation. See the `CPython GitHub repository " +"`__ for a partial " +"list of contributors." +msgstr "" +"Множество людей внесли свой вклад в развитие языка Python, его стандартной " +"библиотеки и документации. Неполный список участников можно найти в " +"репозитории CPython на GitHub: `__." + +msgid "" +"It is only with the input and contributions of the Python community that " +"Python has such wonderful documentation -- Thank You!" +msgstr "" +"Только благодаря вкладу и участию сообщества у Python есть такая " +"замечательная документация. Спасибо Вам!" diff --git a/bugs.po b/bugs.po new file mode 100644 index 000000000..073eab8d2 --- /dev/null +++ b/bugs.po @@ -0,0 +1,254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# Daniil Kolesnikov, 2026 +# Dmitry Luschan, 2026 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.15\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-08-19 14:25+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: Dmitry Luschan, 2026\n" +"Language-Team: Russian (https://app.transifex.com/python-doc/teams/5390/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +msgid "Dealing with Bugs" +msgstr "Работа с ошибками" + +msgid "" +"Python is a mature programming language which has established a reputation " +"for stability. In order to maintain this reputation, the developers would " +"like to know of any deficiencies you find in Python." +msgstr "" +"Python - это зрелый язык программирования, завоевавший репутацию благодаря " +"своей стабильности. Для поддержания такой репутации разработчики хотели бы " +"знать о любых найденных вами в Python недочётах." + +msgid "" +"It can be sometimes faster to fix bugs yourself and contribute patches to " +"Python as it streamlines the process and involves fewer people. Learn how " +"to :ref:`contribute `." +msgstr "" +"Иногда бывает быстрее самостоятельно исправить ошибки и внести патчи в " +"Python, так как это упрощает процесс и вовлекает меньше людей. Узнайте, как :" +"ref:`внести свой вклад`." + +msgid "Documentation bugs" +msgstr "Ошибки в документации" + +msgid "" +"If you find a bug in this documentation or would like to propose an " +"improvement, please submit a bug report on the :ref:`issue tracker `. If you have a suggestion on how to fix it, include that as " +"well." +msgstr "" +"Если вы нашли ошибку в этой документации или хотели бы предложить улучшение, " +"пожалуйста, отправьте отчёт об ошибке в :ref:`систему отслеживания ошибок " +"`. Если у вас есть предложение по её исправлению, " +"включите его также." + +msgid "" +"If the bug or suggested improvement concerns the translation of this " +"documentation, submit the report to the `translation’s repository " +"`_ instead." +msgstr "" +"Если ошибка или предложение по улучшению касается перевода этой " +"документации, отправьте отчёт в `репозиторий перевода `_." + +msgid "" +"You can also open a discussion item on our `Documentation Discourse forum " +"`_." +msgstr "" +"Вы также можете начать обсуждение на нашем `форуме Documentation Discourse " +"`_." + +msgid "" +"If you find a bug in the theme (HTML / CSS / JavaScript) of the " +"documentation, please submit a bug report on the `python-doc-theme issue " +"tracker `_." +msgstr "" +"Если вы обнаружили ошибку в теме (HTML / CSS / JavaScript) документации, " +"отправьте отчёт об ошибке в `систему отслеживания ошибок python-doc-theme " +"`_." + +msgid "`Documentation bugs`_" +msgstr "`Ошибки в документации`_" + +msgid "" +"A list of documentation bugs that have been submitted to the Python issue " +"tracker." +msgstr "" +"Список ошибок в документации, которые были отправлены в систему отслеживания " +"ошибок Python." + +msgid "`Issue Tracking `_" +msgstr "`Система отслеживания ошибок `_" + +msgid "" +"Overview of the process involved in reporting an improvement on the tracker." +msgstr "Обзор процесса отправки улучшений через трекер." + +msgid "" +"`Helping with Documentation `_" +msgstr "" +"`Помощь с документацией `_" + +msgid "" +"Comprehensive guide for individuals that are interested in contributing to " +"Python documentation." +msgstr "" +"Подробное руководство для тех, кто хочет внести свой вклад в документацию " +"Python." + +msgid "" +"`Documentation Translations `_" +msgstr "" +"`Переводы документации `_" + +msgid "" +"A list of GitHub pages for documentation translation and their coordination " +"teams." +msgstr "" +"Список страниц на Github для перевода документаций и их координационных " +"групп." + +msgid "Using the Python issue tracker" +msgstr "Использование системы отслеживания ошибок Python" + +msgid "" +"Issue reports for Python itself should be submitted via the GitHub issues " +"tracker (https://github.com/python/cpython/issues). The GitHub issues " +"tracker offers a web form which allows pertinent information to be entered " +"and submitted to the developers." +msgstr "" +"Отчеты об ошибках для самого Python следует отправлять через трекер ошибок " +"GitHub (https://github.com/python/cpython/issues). Трекер GitHub предлагает " +"веб-форму, которая позволяет заполнить соответствующую информацию и " +"отправить её разработчикам." + +msgid "" +"The first step in filing a report is to determine whether the problem has " +"already been reported. The advantage in doing so, aside from saving the " +"developers' time, is that you learn what has been done to fix it; it may be " +"that the problem has already been fixed for the next release, or additional " +"information is needed (in which case you are welcome to provide it if you " +"can!). To do this, search the tracker using the search box at the top of the " +"page." +msgstr "" +"Первый шаг при подаче отчета — проверить, было ли уже сообщено об этой " +"проблеме. Этот шаг не только помогает сэкономить время разработчикам, но и " +"позволяет понять, какие усилия были приложены для устранения проблемы; " +"возможно, проблема уже была исправлена в следующем релизе, или требуется " +"дополнительная информация (в этом случае, если у вас есть возможность, " +"пожалуйста, предоставьте её!). Для этого воспользуйтесь поиском в трекере, " +"используя поле поиска в верхней части страницы." + +msgid "" +"If the problem you're reporting is not already in the list, log in to " +"GitHub. If you don't already have a GitHub account, create a new account " +"using the \"Sign up\" link. It is not possible to submit a bug report " +"anonymously." +msgstr "" +"Если вашей проблемы нет в списке, войдите в GitHub. Если у вас ещё нет " +"учетной записи GitHub, создайте её, перейдя по ссылке \"Sign up\". " +"Невозможно отправить отчёт об ошибке анонимно." + +msgid "" +"Being now logged in, you can submit an issue. Click on the \"New issue\" " +"button in the top bar to report a new issue." +msgstr "" +"После входа в систему вы можете отправить отчёт об ошибке. Нажмите на кнопку " +"\"New issue\" в верхней панели, чтобы сообщить о новой проблеме." + +msgid "The submission form has two fields, \"Title\" and \"Comment\"." +msgstr "Форма отправки содержит два поля: \"Title\" и \"Comment\"." + +msgid "" +"For the \"Title\" field, enter a *very* short description of the problem; " +"fewer than ten words is good." +msgstr "" +"В поле \"Title\" введите *очень* краткое описание проблемы; меньше десяти " +"слов — это хорошо." + +msgid "" +"In the \"Comment\" field, describe the problem in detail, including what you " +"expected to happen and what did happen. Be sure to include whether any " +"extension modules were involved, and what hardware and software platform you " +"were using (including version information as appropriate)." +msgstr "" +"В поле \"Comment\" подробно опишите проблему, включая то, что вы ожидали и " +"что произошло на самом деле. Обязательно укажите, были ли задействованы " +"какие-либо модули расширений, а также информацию о используемом аппаратном и " +"программном обеспечении (включая соответствующую версию)." + +msgid "" +"Each issue report will be reviewed by a developer who will determine what " +"needs to be done to correct the problem. You will receive an update each " +"time an action is taken on the issue." +msgstr "" +"Каждый отчет о проблеме будет рассмотрен разработчиком, который определит, " +"что нужно сделать для устранения проблемы. Вы будете получать уведомления о " +"каждом действии по вашему отчёту." + +msgid "" +"`How to Report Bugs Effectively `_" +msgstr "" +"`Как эффективно сообщать об ошибках `_" + +msgid "" +"Article which goes into some detail about how to create a useful bug report. " +"This describes what kind of information is useful and why it is useful." +msgstr "" +"Статья, которая подробно описывает, как создать полезный отчет об ошибке. В " +"ней описывается, какая информация является полезной и почему." + +msgid "" +"`Bug Writing Guidelines `_" +msgstr "" +"`Руководство по написанию отчетов об ошибках `_" + +msgid "" +"Information about writing a good bug report. Some of this is specific to " +"the Mozilla project, but describes general good practices." +msgstr "" +"Информация о том, как написать хороший отчет об ошибке. Некоторые " +"рекомендации относятся к проекту Mozilla, но описывают общие принципы." + +msgid "Getting started contributing to Python yourself" +msgstr " Как начать вносить свой вклад в Python" + +msgid "" +"Beyond just reporting bugs that you find, you are also welcome to submit " +"patches to fix them. You can find more information on how to get started " +"patching Python in the `Python Developer's Guide`_. If you have questions, " +"the `core-mentorship mailing list`_ is a friendly place to get answers to " +"any and all questions pertaining to the process of fixing issues in Python." +msgstr "" +"Помимо отправки сообщений об обнаруженных вами ошибках, вы также можете " +"предложить исправления для них. Более подробную информацию о том, как начать " +"исправлять ошибки в Python, вы можете найти в `Руководстве разработчика " +"Python`_. Если у вас возникнут вопросы, `список рассылки core-mentorship`_ — " +"дружелюбное место, где можно получить ответы на любые вопросы, касающиеся " +"процесса исправления ошибок в Python." diff --git a/contents.po b/contents.po new file mode 100644 index 000000000..6087a5550 --- /dev/null +++ b/contents.po @@ -0,0 +1,28 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.15\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-08-11 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Russian (https://app.transifex.com/python-doc/teams/5390/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +msgid "Python Documentation contents" +msgstr "Содержание документации Python" diff --git a/copyright.po b/copyright.po new file mode 100644 index 000000000..d174ad341 --- /dev/null +++ b/copyright.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# Dmitry Luschan, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.15\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-08-11 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: Dmitry Luschan, 2025\n" +"Language-Team: Russian (https://app.transifex.com/python-doc/teams/5390/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +msgid "Copyright" +msgstr "Авторские права" + +msgid "Python and this documentation is:" +msgstr "" + +msgid "Copyright © 2001 Python Software Foundation. All rights reserved." +msgstr "" + +msgid "Copyright © 2000 BeOpen.com. All rights reserved." +msgstr "" + +msgid "" +"Copyright © 1995-2000 Corporation for National Research Initiatives. All " +"rights reserved." +msgstr "" + +msgid "" +"Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved." +msgstr "" + +msgid "" +"See :ref:`history-and-license` for complete license and permissions " +"information." +msgstr "" diff --git a/glossary.po b/glossary.po new file mode 100644 index 000000000..882d6fc8f --- /dev/null +++ b/glossary.po @@ -0,0 +1,3785 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# Dmitry Luschan, 2026 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.15\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-08-23 14:16+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: Dmitry Luschan, 2026\n" +"Language-Team: Russian (https://app.transifex.com/python-doc/teams/5390/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +msgid "Glossary" +msgstr "Глоссарий" + +msgid "``>>>``" +msgstr "``>>>``" + +msgid "" +"The default Python prompt of the :term:`interactive` shell. Often seen for " +"code examples which can be executed interactively in the interpreter." +msgstr "" +"Стандартное приглашение Python в :term:`интерактивной` оболочке. Часто " +"встречается в примерах кода, которые можно выполнить интерактивно в " +"интерпретаторе." + +msgid "``...``" +msgstr "``...``" + +msgid "Can refer to:" +msgstr "Может обозначать:" + +msgid "" +"The default Python prompt of the :term:`interactive` shell when entering the " +"code for an indented code block, when within a pair of matching left and " +"right delimiters (parentheses, square brackets, curly braces or triple " +"quotes), or after specifying a decorator." +msgstr "" +"Стандартное приглашение Python в :term:`интерактивной` оболочке при вводе " +"блока кода с отступом, внутри пары соответствующих друг другу разделителей " +"(круглых, квадратных или фигурных скобок, а также тройных кавычек) или после " +"указания декоратора." + +msgid "" +"The three dots form of the :ref:`Ellipsis ` object." +msgstr "" +"Форму записи объекта :ref:`Ellipsis ` в виде " +"многоточия." + +msgid "abstract base class" +msgstr "абстрактный базовый класс" + +msgid "" +"Abstract base classes complement :term:`duck-typing` by providing a way to " +"define interfaces when other techniques like :func:`hasattr` would be clumsy " +"or subtly wrong (for example with :ref:`magic methods `). " +"ABCs introduce virtual subclasses, which are classes that don't inherit from " +"a class but are still recognized by :func:`isinstance` and :func:" +"`issubclass`; see the :mod:`abc` module documentation. Python comes with " +"many built-in ABCs for data structures (in the :mod:`collections.abc` " +"module), numbers (in the :mod:`numbers` module), streams (in the :mod:`io` " +"module), import finders and loaders (in the :mod:`importlib.abc` module). " +"You can create your own ABCs with the :mod:`abc` module." +msgstr "" +"Абстрактные базовые классы дополняют :term:`утиную типизацию`, предоставляя " +"способ определения интерфейсов в случаях, когда другие методы, вроде " +"функции :func:`hasattr`, были бы громоздкими или могли бы привести к " +"трудноуловимым ошибкам (например, при работе с :ref:`магическими методами " +"`). Абстрактные базовые классы вводят виртуальные подклассы " +"— классы, которые не наследуются от другого класса, но тем не менее " +"распознаются функциями :func:`isinstance` и :func:`issubclass`; см. " +"документацию модуля :mod:`abc`. Python предоставляет множество встроенных " +"абстрактных базовых классов для структур данных (в модуле :mod:`collections." +"abc`), чисел (в модуле :mod:`numbers`), потоков (в модуле :mod:`io`), а " +"также для механизма поиска и загрузки при импорте (в модуле :mod:`importlib." +"abc`). Создавать собственные абстрактные базовые классы можно с помощью " +"модуля :mod:`abc`." + +msgid "annotate function" +msgstr "функция аннотации" + +msgid "" +"A callable that can be called to retrieve the :term:`annotations " +"` of an object. Annotate functions are usually :term:`functions " +"`, automatically generated as the :attr:`~object.__annotate__` " +"attribute of functions, classes, and modules. Annotate functions are a " +"subset of :term:`evaluate functions `." +msgstr "" +"Вызываемый объект, который можно вызвать для получения :term:`аннотации " +"` объекта. Функции аннотации обычно являются :term:`функциями " +"`, автоматически создаваемыми в качестве атрибута :attr:`~object." +"__annotate__` функций, классов и модулей. Функции аннотации являются " +"подмножеством :term:`вычисляющих функций `." + +msgid "annotation" +msgstr "аннотация" + +msgid "" +"A label associated with a variable, a class attribute or a function " +"parameter or return value, used by convention as a :term:`type hint`." +msgstr "" +"Метка, связанная с переменной, атрибутом класса, параметром функции или её " +"возвращаемым значением, которая по соглашению используется в качестве :term:" +"`подсказки типа`." + +msgid "" +"Annotations of local variables cannot be accessed at runtime, but " +"annotations of global variables, class attributes, and functions can be " +"retrieved by calling :func:`annotationlib.get_annotations` on modules, " +"classes, and functions, respectively." +msgstr "" +"Аннотации локальных переменных недоступны во время выполнения, но аннотации " +"глобальных переменных, атрибутов классов и функций можно получить, вызвав :" +"func:`annotationlib.get_annotations` для модулей, классов и функций " +"соответственно." + +msgid "" +"See :term:`variable annotation`, :term:`function annotation`, :pep:`484`, :" +"pep:`526`, and :pep:`649`, which describe this functionality. Also see :ref:" +"`annotations-howto` for best practices on working with annotations." +msgstr "" +"См. :term:`аннотацию переменных`, :term:`аннотацию функций`, :pep:`484`, :" +"pep:`526` и :pep:`649`, в которых описывается эта функциональность. См. " +"также раздел :ref:`annotations-howto` с рекомендациями по работе с " +"аннотациями." + +msgid "argument" +msgstr "аргумент" + +msgid "" +"A value passed to a :term:`function` (or :term:`method`) when calling the " +"function. There are two kinds of argument:" +msgstr "" +"Значение, передаваемое в :term:`функцию` (или :term:`метод`) при вызове " +"функции. Есть два вида аргументов:" + +msgid "" +":dfn:`keyword argument`: an argument preceded by an identifier (e.g. " +"``name=``) in a function call or passed as a value in a dictionary preceded " +"by ``**``. For example, ``3`` and ``5`` are both keyword arguments in the " +"following calls to :func:`complex`::" +msgstr "" +":dfn:`именованный аргумент`: аргумент, которому в вызове функции " +"предшествует идентификатор (например, ``name=``), или значение, передаваемое " +"в словаре с предшествующим ему ``**``. Например, ``3`` и ``5`` являются " +"именованными аргументами в следующих вызовах :func:`complex`::" + +msgid "" +"complex(real=3, imag=5)\n" +"complex(**{'real': 3, 'imag': 5})" +msgstr "" +"complex(real=3, imag=5)\n" +"complex(**{'real': 3, 'imag': 5})" + +msgid "" +":dfn:`positional argument`: an argument that is not a keyword argument. " +"Positional arguments can appear at the beginning of an argument list and/or " +"be passed as elements of an :term:`iterable` preceded by ``*``. For example, " +"``3`` and ``5`` are both positional arguments in the following calls::" +msgstr "" +":dfn:`позиционный аргумент`: аргумент, который не является именованным. " +"Позиционные аргументы могут находиться в начале списка аргументов и/или " +"передаваться как элементы :term:`итерируемого объекта`, перед которым стоит " +"``*``. Например, ``3`` и ``5`` являются позиционными аргументами в следующих " +"вызовах::" + +msgid "" +"complex(3, 5)\n" +"complex(*(3, 5))" +msgstr "" +"complex(3, 5)\n" +"complex(*(3, 5))" + +msgid "" +"Arguments are assigned to the named local variables in a function body. See " +"the :ref:`calls` section for the rules governing this assignment. " +"Syntactically, any expression can be used to represent an argument; the " +"evaluated value is assigned to the local variable." +msgstr "" +"Аргументы присваиваются именованным локальным переменным в теле функции. " +"Правила такого присваивания см. в разделе :ref:`calls`. Синтаксически для " +"представления аргумента можно использовать любое выражение. Его значение " +"вычисляется и присваивается локальной переменной." + +msgid "" +"See also the :term:`parameter` glossary entry, the FAQ question on :ref:`the " +"difference between arguments and parameters `, " +"and :pep:`362`." +msgstr "" +"См. также статью глоссария :term:`параметр`, раздел :ref:`о различии между " +"аргументами и параметрами ` в часто задаваемых " +"вопросах и :pep:`362`." + +msgid "asynchronous context manager" +msgstr "асинхронный менеджер контекста" + +msgid "" +"An object which controls the environment seen in an :keyword:`async with` " +"statement by defining :meth:`~object.__aenter__` and :meth:`~object." +"__aexit__` methods. Introduced by :pep:`492`." +msgstr "" +"Объект, управляющий окружением, доступным в инструкции :keyword:`async " +"with`, посредством определения методов :meth:`~object.__aenter__` и :meth:" +"`~object.__aexit__`. Представлен в :pep:`492`." + +msgid "asynchronous generator" +msgstr "асинхронный генератор" + +msgid "" +"Informally used to mean either an :term:`asynchronous generator function` or " +"an :term:`asynchronous generator iterator`, depending on context. The " +"formal terms :term:`asynchronous generator function` and :term:`asynchronous " +"generator iterator` are uncommon in practice; \"asynchronous generator\" " +"alone is almost always sufficient." +msgstr "" +"Неформально используется для обозначения либо :term:`асинхронной " +"генераторной функции`, либо :term:`асинхронного генераторного итератора` — в " +"зависимости от контекста. Формальные термины :term:`асинхронная генераторная " +"функция` и :term:`асинхронный генераторный итератор` редко используются на " +"практике; почти всегда достаточно термина «асинхронный генератор»." + +msgid "asynchronous generator function" +msgstr "асинхронная генераторная функция" + +msgid "" +"A function which returns an :term:`asynchronous generator iterator`. It " +"looks like a coroutine function defined with :keyword:`async def` except " +"that it contains :keyword:`yield` expressions for producing a series of " +"values usable in an :keyword:`async for` loop. See :pep:`525`." +msgstr "" +"Функция, возвращающая :term:`асинхронный генераторный итератор`. Она похожа " +"на функцию сопрограммы, определённую с помощью :keyword:`async def`, но " +"содержит выражения :keyword:`yield`, генерирующие последовательность " +"значений, которые можно использовать в цикле :keyword:`async for`. См. :pep:" +"`525`." + +msgid "" +"An asynchronous generator function may contain :keyword:`await` expressions " +"as well as :keyword:`async for`, and :keyword:`async with` statements." +msgstr "" +"Асинхронная генераторная функция может содержать выражения :keyword:`await`, " +"а также инструкции :keyword:`async for` и :keyword:`async with`." + +msgid "asynchronous generator iterator" +msgstr "асинхронный генераторный итератор" + +msgid "An object created by an :term:`asynchronous generator function`." +msgstr "Объект, созданный :term:`асинхронной генераторной функцией`." + +msgid "" +"This is an :term:`asynchronous iterator` which when called using the :meth:" +"`~object.__anext__` method returns an awaitable object which will execute " +"the body of the asynchronous generator function until the next :keyword:" +"`yield` expression." +msgstr "" +"Это :term:`асинхронный итератор`, у которого вызов метода :meth:`~object." +"__anext__` возвращает ожидаемый объект, выполняющий тело асинхронной " +"генераторной функции до следующего выражения :keyword:`yield`." + +msgid "" +"Each :keyword:`yield` temporarily suspends processing, remembering the " +"execution state (including local variables and pending try-statements). " +"When the *asynchronous generator iterator* effectively resumes with another " +"awaitable returned by :meth:`~object.__anext__`, it picks up where it left " +"off. See :pep:`492` and :pep:`525`." +msgstr "" +"Каждое выражение :keyword:`yield` временно приостанавливает выполнение, " +"сохраняя состояние выполнения (включая локальные переменные и ожидающие " +"выполнения инструкции try). Когда *асинхронный генераторный итератор* " +"фактически возобновляется при ожидании очередного объекта после вызова :meth:" +"`~object.__anext__`, он продолжает выполнение с того места, на котором " +"остановился. См. :pep:`492` и :pep:`525`." + +msgid "asynchronous iterable" +msgstr "асинхронный итерируемый объект" + +msgid "" +"An object, that can be used in an :keyword:`async for` statement. Must " +"return an :term:`asynchronous iterator` from its :meth:`~object.__aiter__` " +"method. Introduced by :pep:`492`." +msgstr "" +"Объект, который можно использовать в инструкции :keyword:`async for`. Должен " +"возвращать :term:`асинхронный итератор` из своего метода :meth:`~object." +"__aiter__`. Представлен в :pep:`492`." + +msgid "asynchronous iterator" +msgstr "асинхронный итератор" + +msgid "" +"An object that implements the :meth:`~object.__aiter__` and :meth:`~object." +"__anext__` methods. :meth:`~object.__anext__` must return an :term:" +"`awaitable` object. :keyword:`async for` resolves the awaitables returned by " +"an asynchronous iterator's :meth:`~object.__anext__` method until it raises " +"a :exc:`StopAsyncIteration` exception. Introduced by :pep:`492`." +msgstr "" +"Объект, реализующий методы :meth:`~object.__aiter__` и :meth:`~object." +"__anext__`. Метод :meth:`~object.__anext__` должен возвращать объект, " +"допускающий :term:`ожидание`. Инструкция :keyword:`async for` ожидает " +"объекты, возвращаемые методом асинхронного итератора :meth:`~object." +"__anext__`, до тех пор, пока тот не вызовет исключение :exc:" +"`StopAsyncIteration`. Представлен в :pep:`492`." + +msgid "atomic operation" +msgstr "атомарная операция" + +msgid "" +"An operation that appears to execute as a single, indivisible step: no other " +"thread can observe it half-done, and its effects become visible all at " +"once. Python does not guarantee that high-level statements are atomic (for " +"example, ``x += 1`` performs multiple bytecode operations and is not " +"atomic). Atomicity is only guaranteed where explicitly documented. See " +"also :term:`race condition` and :term:`data race`." +msgstr "" +"Операция, которая выполняется как единый неделимый шаг: ни один другой поток " +"не может увидеть её в промежуточном состоянии, а все её эффекты становятся " +"видимыми одновременно. Python не гарантирует атомарность инструкций высокого " +"уровня (например, ``x += 1`` выполняет несколько операций в байт-коде и не " +"является атомарной). Атомарность гарантируется только там, где это явно " +"указано в документации. См. также :term:`состояние гонки` и :term:`гонка " +"данных`." + +msgid "attached thread state" +msgstr "присоединённое состояние потока" + +msgid "A :term:`thread state` that is active for the current OS thread." +msgstr ":term:`Состояние потока`, активное для текущего потока ОС." + +msgid "" +"When a :term:`thread state` is attached, the OS thread has access to the " +"full Python C API and can safely invoke the bytecode interpreter." +msgstr "" +"Когда :term:`состояние потока` присоединено к потоку ОС, послений получает " +"доступ ко всему C API Python и может безопасно вызывать интерпретатор байт-" +"кода." + +msgid "" +"Unless a function explicitly notes otherwise, attempting to call the C API " +"without an attached thread state will result in a fatal error or undefined " +"behavior. A thread state can be attached and detached explicitly by the " +"user through the C API, or implicitly by the runtime, including during " +"blocking C calls and by the bytecode interpreter in between calls." +msgstr "" +"Если для функции явно не указано иное, попытка вызвать C API без " +"присоединённого состояния потока приведёт к фатальной ошибке или " +"неопределённому поведению. Состояние потока может быть явно присоединено или " +"отсоединено пользователем через C API либо неявно — средой выполнения, в том " +"числе во время блокирующих вызовов C и интерпретатором байт-кода между " +"вызовами." + +msgid "" +"On most builds of Python, having an attached thread state implies that the " +"caller holds the :term:`GIL` for the current interpreter, so only one OS " +"thread can have an attached thread state at a given moment. In :term:`free-" +"threaded builds ` of Python, threads can concurrently " +"hold an attached thread state, allowing for true parallelism of the bytecode " +"interpreter." +msgstr "" +"В большинстве сборок Python наличие присоединённого состояния потока " +"означает, что вызывающий код удерживает :term:`GIL` текущего интерпретатора, " +"поэтому в каждый момент времени присоединённое состояние потока может быть " +"только у одного потока ОС. В сборках Python со :term:`свободными потоками " +"` потоки могут одновременно иметь присоединённое " +"состояние потока, что обеспечивает настоящую параллельность работы " +"интерпретатора байт-кода." + +msgid "attribute" +msgstr "атрибут" + +msgid "" +"A value associated with an object which is usually referenced by name using " +"dotted expressions. For example, if an object *o* has an attribute *a* it " +"would be referenced as *o.a*." +msgstr "" +"Значение, связанное с объектом, на который обычно ссылаются по имени, с " +"помощью выражения с точками. Например, если объект *o* имеет атрибут *a*, на " +"него ссылаются как *o.a*." + +msgid "" +"It is possible to give an object an attribute whose name is not an " +"identifier as defined by :ref:`identifiers`, for example using :func:" +"`setattr`, if the object allows it. Such an attribute will not be accessible " +"using a dotted expression, and would instead need to be retrieved with :func:" +"`getattr`." +msgstr "" +"Можно присвоить объекту атрибут, имя которого не является идентификатором, " +"как определено в , например, используя , если объект это позволяет. Такой " +"атрибут не будет доступен с помощью выражения, разделенного точками, и " +"вместо этого его необходимо будет получить с помощью .\n" +"\n" +"Объекту можно присвоить атрибут, имя которого не является идентификатором в " +"соответствии с :ref:`identifiers`, например с помощью :func:`setattr`, если " +"объект это допускает. Доступ к такому атрибуту невозможен с помощью точечной " +"нотации. Вместо этого его необходимо получать с помощью :func:`getattr`." + +msgid "awaitable" +msgstr "ожидаемый объект" + +msgid "" +"An object that can be used in an :keyword:`await` expression. Can be a :" +"term:`coroutine` or an object with an :meth:`~object.__await__` method. See " +"also :pep:`492`." +msgstr "" +"Объект, который можно использовать в выражении :keyword:`await`. Это может " +"быть :term:`сопрограмма` или объект с методом :meth:`~object.__await__`. См. " +"также :pep:`492`." + +msgid "BDFL" +msgstr "BDFL" + +msgid "" +"Benevolent Dictator For Life, a.k.a. `Guido van Rossum `_, Python's creator." +msgstr "" +"Великодушный пожизненный диктатор, он же `Гвидо ван Россум `_, создатель Python." + +msgid "binary file" +msgstr "двоичный файл" + +msgid "" +"A :term:`file object` able to read and write :term:`bytes-like objects " +"`. Examples of binary files are files opened in binary " +"mode (``'rb'``, ``'wb'`` or ``'rb+'``), :data:`sys.stdin.buffer `, :data:`sys.stdout.buffer `, and instances of :class:`io." +"BytesIO` and :class:`gzip.GzipFile`." +msgstr "" +":term:`Файловый объект`, способный читать и записывать :term:`объекты, " +"подобные байтам `. Примеры двоичных файлов: файлы, " +"открытые в двоичном режиме (``'rb'``, ``'wb'`` или ``'rb+'``), :data:`sys." +"stdin.buffer `, :data:`sys.stdout.buffer `, а также " +"экземпляры :class:`io.BytesIO` и :class:`gzip.GzipFile`." + +msgid "" +"See also :term:`text file` for a file object able to read and write :class:" +"`str` objects." +msgstr "" +"См. также :term:`текстовый файл` для файлового объекта, способного читать и " +"записывать объекты :class:`str`." + +msgid "borrowed reference" +msgstr "заимствованная ссылка" + +msgid "" +"In Python's C API, a borrowed reference is a reference to an object, where " +"the code using the object does not own the reference. It becomes a dangling " +"pointer if the object is destroyed. For example, a garbage collection can " +"remove the last :term:`strong reference` to the object and so destroy it." +msgstr "" +"В C API Python заимствованная ссылка — это ссылка на объект, владение " +"которым не передаётся коду, использующему эту ссылку. Если объект " +"уничтожается, такая ссылка становится висящим указателем. Например, сборщик " +"мусора может удалить последнюю :term:`сильную ссылку` на объект и тем самым " +"уничтожить его." + +msgid "" +"Calling :c:func:`Py_INCREF` on the :term:`borrowed reference` is recommended " +"to convert it to a :term:`strong reference` in-place, except when the object " +"cannot be destroyed before the last usage of the borrowed reference. The :c:" +"func:`Py_NewRef` function can be used to create a new :term:`strong " +"reference`." +msgstr "" +"За исключением случаев, когда объект не может быть уничтожен до последнего " +"использования :term:`заимствованной ссылки`, её рекомендуется преобразовать " +"на месте в :term:`сильную ссылку`, вызвав функцию :c:func:`Py_INCREF`. А для " +"создания новой :term:`сильной ссылки` можно использовать функцию :c:func:" +"`Py_NewRef`." + +msgid "bytes-like object" +msgstr "объект, подобный bytes" + +msgid "" +"An object that supports the :ref:`bufferobjects` and can export a C-:term:" +"`contiguous` buffer. This includes all :class:`bytes`, :class:`bytearray`, " +"and :class:`array.array` objects, as well as many common :class:`memoryview` " +"objects. Bytes-like objects can be used for various operations that work " +"with binary data; these include compression, saving to a binary file, and " +"sending over a socket." +msgstr "" +"Объект, поддерживающий :ref:`bufferobjects` и способный экспортировать :term:" +"`непрерывный` C-буфер. Сюда входят все объекты :class:`bytes`, :class:" +"`bytearray` и :class:`array.array`, а также многие распространённые объекты :" +"class:`memoryview`. Объекты, подобные bytes, можно использовать для " +"различных операций с двоичными данными, включая сжатие, сохранение в " +"двоичный файл и отправку через сокет." + +msgid "" +"Some operations need the binary data to be mutable. The documentation often " +"refers to these as \"read-write bytes-like objects\". Example mutable " +"buffer objects include :class:`bytearray` and a :class:`memoryview` of a :" +"class:`bytearray`. Other operations require the binary data to be stored in " +"immutable objects (\"read-only bytes-like objects\"); examples of these " +"include :class:`bytes` and a :class:`memoryview` of a :class:`bytes` object." +msgstr "" +"Некоторым операциям требуется, чтобы двоичные данные были изменяемыми. В " +"документации такие объекты часто называются «объектами, подобными bytes, " +"доступными для чтения и записи». Примерами изменяемых объектов буфера " +"являются :class:`bytearray`и :class:`memoryview` типа :class:`bytearray`. " +"Другим операциям требуется, чтобы двоичные данные хранились в неизменяемых " +"объектах («объектах, подобных bytes, доступных только для чтения»); к таким " +"объектам относятся, например, :class:`bytes` и :class:`memoryview` типа :" +"class:`bytes`." + +msgid "bytecode" +msgstr "байт-код" + +msgid "" +"Python source code is compiled into bytecode, the internal representation of " +"a Python program in the CPython interpreter. The bytecode is also cached in " +"``.pyc`` files so that executing the same file is faster the second time " +"(recompilation from source to bytecode can be avoided). This \"intermediate " +"language\" is said to run on a :term:`virtual machine` that executes the " +"machine code corresponding to each bytecode. Do note that bytecodes are not " +"expected to work between different Python virtual machines, nor to be stable " +"between Python releases." +msgstr "" +"Исходный код Python компилируется в байт-код — внутреннее представление " +"программы Python в интерпретаторе CPython. Байт-код также кэшируется в " +"файлах ``.pyc`` благодаря повторное выполнение того же файла происходит " +"быстрее (повторной компиляции исходного кода в байт-код можно избежать). " +"Этот «промежуточный язык» выполняется на :term:`виртуальной машине`, которая " +"исполняет машинный код, соответствующий каждой инструкции байт-кода. Следует " +"учитывать, что байт-код не предназначен для работы на разных виртуальных " +"машинах Python и не гарантирует стабильность между разными версиями Python." + +msgid "" +"A list of bytecode instructions can be found in the documentation for :ref:" +"`the dis module `." +msgstr "" +"Список инструкций байт-кода можно найти в документации к :ref:`модулю dis " +"`." + +msgid "callable" +msgstr "вызываемый объект" + +msgid "" +"A callable is an object that can be called, possibly with a set of arguments " +"(see :term:`argument`), with the following syntax::" +msgstr "" +"Вызываемый объект — это объект, который можно вызвать, возможно, с набором " +"аргументов (см. :term:`аргумент`), используя следующий синтаксис::" + +msgid "callable(argument1, argument2, argumentN)" +msgstr "callable(argument1, argument2, argumentN)" + +msgid "" +"A :term:`function`, and by extension a :term:`method`, is a callable. An " +"instance of a class that implements the :meth:`~object.__call__` method is " +"also a callable." +msgstr "" +":term:`Функция`, а также производный от неё :term:`метод`, является " +"вызываемым объектом. Экземпляр класса, реализующего метод :meth:`~object." +"__call__`, также является вызываемым." + +msgid "callback" +msgstr "функция обратного вызова" + +msgid "" +"A subroutine function which is passed as an argument to be executed at some " +"point in the future." +msgstr "" +"Подпрограмма в виде функции, переданная в качестве аргумента для выполнения " +"в некоторый момент в будущем." + +msgid "class" +msgstr "класс" + +msgid "" +"A template for creating user-defined objects. Class definitions normally " +"contain method definitions which operate on instances of the class." +msgstr "" +"Шаблон для создания пользовательских объектов. Определения классов обычно " +"содержат определения методов, которые работают с экземплярами класса." + +msgid "class variable" +msgstr "переменная класса" + +msgid "" +"A variable defined in a class and intended to be modified only at class " +"level (i.e., not in an instance of the class)." +msgstr "" +"Переменная, определённая в классе и предназначенная для изменения только на " +"уровне класса (то есть не в экземпляре класса)." + +msgid "closure variable" +msgstr "переменная замыкания" + +msgid "" +"A :term:`free variable` referenced from a :term:`nested scope` that is " +"defined in an outer scope rather than being resolved at runtime from the " +"globals or builtin namespaces. May be explicitly defined with the :keyword:" +"`nonlocal` keyword to allow write access, or implicitly defined if the " +"variable is only being read." +msgstr "" +":term:`Свободная переменная`, на которую ссылаются из :term:`вложенной " +"области видимости` и которая определена во внешней области видимости, а не " +"разрешается во время выполнения через глобальное пространство имён или " +"пространство имён встроенных объектов. Может быть явно объявлена с помощью " +"ключевого слова :keyword:`nonlocal`, чтобы разрешить запись, или определена " +"неявно, если переменная только считывается." + +msgid "" +"For example, in the ``inner`` function in the following code, both ``x`` and " +"``print`` are :term:`free variables `, but only ``x`` is a " +"*closure variable*::" +msgstr "" +"Например, в функции ``inner`` в приведённом ниже коде ``x`` и ``print`` " +"являются :term:`свободными переменными `, но только ``x`` " +"является *переменной замыкания*::" + +msgid "" +"def outer():\n" +" x = 0\n" +" def inner():\n" +" nonlocal x\n" +" x += 1\n" +" print(x)\n" +" return inner" +msgstr "" +"def outer():\n" +" x = 0\n" +" def inner():\n" +" nonlocal x\n" +" x += 1\n" +" print(x)\n" +" return inner" + +msgid "" +"Due to the :attr:`codeobject.co_freevars` attribute (which, despite its " +"name, only includes the names of closure variables rather than listing all " +"referenced free variables), the more general :term:`free variable` term is " +"sometimes used even when the intended meaning is to refer specifically to " +"closure variables." +msgstr "" +"Из-за атрибута :attr:`codeobject.co_freevars` (который, несмотря на своё " +"название, содержит только имена переменных замыкания, а не перечисляет все " +"свободные переменные, на которые имеются ссылки) более общий термин :term:" +"`свободная переменная` иногда используется даже тогда, когда имеется в виду " +"именно переменная замыкания." + +msgid "complex number" +msgstr "комплексное число" + +msgid "" +"An extension of the familiar real number system in which all numbers are " +"expressed as a sum of a real part and an imaginary part. Imaginary numbers " +"are real multiples of the imaginary unit (the square root of ``-1``), often " +"written ``i`` in mathematics or ``j`` in engineering. Python has built-in " +"support for complex numbers, which are written with this latter notation; " +"the imaginary part is written with a ``j`` suffix, e.g., ``3+1j``. To get " +"access to complex equivalents of the :mod:`math` module, use :mod:`cmath`. " +"Use of complex numbers is a fairly advanced mathematical feature. If you're " +"not aware of a need for them, it's almost certain you can safely ignore them." +msgstr "" +"Расширение привычной системы действительных чисел, в которой все числа " +"выражаются как сумма действительной и мнимой частей. Мнимые числа — это " +"произведения действительных чисел и мнимой единицы (квадратного корня из " +"``-1``), которую в математике обычно обозначают ``i``, а в инженерных " +"дисциплинах — ``j``. Python имеет встроенную поддержку комплексных чисел, " +"которые записываются с использованием последнего обозначения; мнимая часть " +"записывается с суффиксом ``j``, например ``3+1j``. Чтобы получить доступ к " +"комплексным аналогам функций модуля :mod:`math`, используйте :mod:`cmath`. " +"Использование комплексных чисел — довольно продвинутая математическая " +"возможность. Если вы не осознаёте необходимости в них, вы почти наверняка " +"можете спокойно их игнорировать." + +msgid "concurrency" +msgstr "конкурентность" + +msgid "" +"The ability of a computer program to perform multiple tasks at the same " +"time. Python provides libraries for writing programs that make use of " +"different forms of concurrency. :mod:`asyncio` is a library for dealing " +"with asynchronous tasks and coroutines. :mod:`threading` provides access to " +"operating system threads and :mod:`multiprocessing` to operating system " +"processes. Multi-core processors can execute threads and processes on " +"different CPU cores at the same time (see :term:`parallelism`)." +msgstr "" +"Способность компьютерной программы выполнять несколько задач одновременно. " +"Python предоставляет библиотеки для написания программ, использующих " +"различные формы конкурентности. Библиотека :mod:`asyncio` предназначена для " +"работы с асинхронными задачами и сопрограммами. :mod:`threading` " +"предоставляет доступ к потокам операционной системы, а :mod:" +"`multiprocessing` — к процессам операционной системы. Многоядерные " +"процессоры могут одновременно выполнять потоки и процессы на разных ядрах ЦП " +"(см. :term:`параллелизм`)." + +msgid "concurrent modification" +msgstr "конкурентное изменение" + +msgid "" +"When multiple threads modify shared data at the same time. Concurrent " +"modification without proper synchronization can cause :term:`race conditions " +"`, and might also trigger a :term:`data race `, " +"data corruption, or both." +msgstr "" +"Ситуация, когда несколько потоков одновременно изменяют общие данные. " +"Конкурентное изменение без надлежащей синхронизации может привести к :term:" +"`состояниям гонки `, а также вызвать :term:`гонку данных " +"`, повреждение данных или и то и другое." + +msgid "context" +msgstr "контекст" + +msgid "" +"This term has different meanings depending on where and how it is used. Some " +"common meanings:" +msgstr "" +"Этот термин имеет разные значения в зависимости от того, где и как он " +"используется. Некоторые распространённые значения:" + +msgid "" +"The temporary state or environment established by a :term:`context manager` " +"via a :keyword:`with` statement." +msgstr "" +"Временное состояние или окружение, устанавливаемое :term:`менеджером " +"контекста` с помощью инструкции :keyword:`with`." + +msgid "" +"The collection of key­value bindings associated with a particular :class:" +"`contextvars.Context` object and accessed via :class:`~contextvars." +"ContextVar` objects. Also see :term:`context variable`." +msgstr "" +"Коллекция связей «ключ—значение», содержащихся в конкретном объекте :class:" +"`contextvars.Context` и доступных через объекты :class:`~contextvars." +"ContextVar`. См. также :term:`контекстная переменная`." + +msgid "" +"A :class:`contextvars.Context` object. Also see :term:`current context`." +msgstr "" +"Объект :class:`contextvars.Context`. См. также :term:`текущий контекст`." + +msgid "context management protocol" +msgstr "протокол управления контекстом" + +msgid "" +"The :meth:`~object.__enter__` and :meth:`~object.__exit__` methods called by " +"the :keyword:`with` statement. See :pep:`343`." +msgstr "" +"Методы :meth:`~object.__enter__` и :meth:`~object.__exit__`, вызываемые " +"инструкцией :keyword:`with`. См. :pep:`343`." + +msgid "context manager" +msgstr "менеджер контекста" + +msgid "" +"An object which implements the :term:`context management protocol` and " +"controls the environment seen in a :keyword:`with` statement. See :pep:" +"`343`." +msgstr "" +"Объект, реализующий :term:`протокол управления контекстом` и управляющий " +"окружением, доступным внутри инструкции :keyword:`with`. См. :pep:`343`." + +msgid "context variable" +msgstr "переменная контекста" + +msgid "" +"A variable whose value depends on which context is the :term:`current " +"context`. Values are accessed via :class:`contextvars.ContextVar` objects. " +"Context variables are primarily used to isolate state between concurrent " +"asynchronous tasks." +msgstr "" +"Переменная, значение которой зависит от того, какой контекст является :term:" +"`текущим контекстом`. Доступ к значениям осуществляется через объекты :class:" +"`contextvars.ContextVar`. Переменные контекста в основном используются для " +"изоляции состояния между конкурентно выполняемыми асинхронными задачами." + +msgid "contiguous" +msgstr "непрерывный" + +msgid "" +"A buffer is considered contiguous exactly if it is either *C-contiguous* or " +"*Fortran contiguous*. Zero-dimensional buffers are C and Fortran " +"contiguous. In one-dimensional arrays, the items must be laid out in memory " +"next to each other, in order of increasing indexes starting from zero. In " +"multidimensional C-contiguous arrays, the last index varies the fastest when " +"visiting items in order of memory address. However, in Fortran contiguous " +"arrays, the first index varies the fastest." +msgstr "" +"Буфер считается непрерывным, если он является либо *C-непрерывным*, либо " +"*Fortran-непрерывным*. Буферы нулевой размерности являются непрерывными и в " +"смысле C, и в смысле Fortran. В одномерных массивах элементы должны быть " +"расположены в памяти друг за другом в порядке возрастания индексов, начиная " +"с нулевого. При последовательном обходе элементов многомерных C-непрерывных " +"массивов в порядке возрастания их адресов в памяти быстрее всего изменяется " +"последний индекс. В Fortran-непрерывных массивах, напротив, быстрее всего " +"изменяется первый индекс." + +msgid "coroutine" +msgstr "сопрограмма" + +msgid "" +"Coroutines are a more generalized form of subroutines. Subroutines are " +"entered at one point and exited at another point. Coroutines can be " +"entered, exited, and resumed at many different points. They can be " +"implemented with the :keyword:`async def` statement. See also :pep:`492`." +msgstr "" +"Сопрограммы являются более обобщённой формой подпрограмм. Подпрограмма " +"запускается в одной точке и завершается в другой. Сопрограмма же может " +"запускаться, завершаться и возобновляться в различных точках. Она может быть " +"реализована с помощью инструкции :keyword:`async def`. См. также :pep:`492`." + +msgid "coroutine function" +msgstr "сопрограммная функция" + +msgid "" +"A function which returns a :term:`coroutine` object. A coroutine function " +"may be defined with the :keyword:`async def` statement, and may contain :" +"keyword:`await`, :keyword:`async for`, and :keyword:`async with` keywords. " +"These were introduced by :pep:`492`." +msgstr "" +"Функция, возвращающая :term:`сопрограмму`. Сопрограммная функция может быть " +"определена с помощью инструкции :keyword:`async def` и может содержать " +"выражения :keyword:`await`, а также инструкции :keyword:`async for` и :" +"keyword:`async with`. Представлены в :pep:`492`." + +msgid "CPython" +msgstr "CPython" + +msgid "" +"The canonical implementation of the Python programming language, as " +"distributed on `python.org `_. The term \"CPython\" " +"is used when necessary to distinguish this implementation from others such " +"as Jython or IronPython." +msgstr "" +"Каноническая реализация языка программирования Python, распространяемая на " +"`python.org `_. Термин «CPython» используется, когда " +"необходимо отличить эту реализацию от других, таких как Jython или " +"IronPython." + +msgid "current context" +msgstr "текущий контекст" + +msgid "" +"The :term:`context` (:class:`contextvars.Context` object) that is currently " +"used by :class:`~contextvars.ContextVar` objects to access (get or set) the " +"values of :term:`context variables `. Each thread has its " +"own current context. Frameworks for executing asynchronous tasks (see :mod:" +"`asyncio`) associate each task with a context which becomes the current " +"context whenever the task starts or resumes execution." +msgstr "" +":term:`Контекст` (объект :class:`contextvars.Context`), который в данный " +"момент используется объектами :class:`~contextvars.ContextVar` для доступа " +"(получения и изменения) к значениям :term:`переменных контекста `. У каждого потока есть собственный текущий контекст. Фреймворки " +"для выполнения асинхронных задач (см. :mod:`asyncio`) связывают каждую " +"задачу с контекстом, который становится текущим контекстом всякий раз, когда " +"задача начинает или возобновляет выполнение." + +msgid "cyclic isolate" +msgstr "циклический изолят" + +msgid "" +"A subgroup of one or more objects that reference each other in a reference " +"cycle, but are not referenced by objects outside the group. The goal of " +"the :term:`cyclic garbage collector ` is to identify " +"these groups and break the reference cycles so that the memory can be " +"reclaimed." +msgstr "" +"Подгруппа из одного или нескольких объектов, которые ссылаются друг на " +"друга, образуя цикл ссылок, но на которые не ссылаются объекты за пределами " +"этой группы. Задача :term:`сборщика циклического мусора ` — обнаруживать такие группы и разрывать циклы ссылок, чтобы " +"занимаемая ими память могла быть освобождена." + +msgid "data race" +msgstr "гонка данных" + +msgid "" +"A situation where multiple threads access the same memory location " +"concurrently, at least one of the accesses is a write, and the threads do " +"not use any synchronization to control their access. Data races lead to :" +"term:`non-deterministic` behavior and can cause data corruption. Proper use " +"of :term:`locks ` and other :term:`synchronization primitives " +"` prevents data races. Note that data races can " +"only happen in native code, but that :term:`native code` might be exposed in " +"a Python API. See also :term:`race condition` and :term:`thread-safe`." +msgstr "" +"Ситуация, при которой несколько потоков одновременно обращаются к одной и " +"той же области памяти, причём как минимум одно из обращений выполняет " +"запись, а потоки не используют синхронизацию для управления доступом к этой " +"области памяти. Гонки данных приводят к :term:`недетерминированному` " +"поведению и могут вызвать повреждение данных. Правильное использование :term:" +"`блокировок ` и других :term:`примитивов синхронизации " +"` предотвращает гонки данных. Обратите внимание, " +"что гонки данных могут возникать только в нативном коде, однако :term:" +"`нативный код` может быть доступен через API Python. См. также :term:" +"`состояние гонки` и :term:`потокобезопасный`." + +msgid "deadlock" +msgstr "взаимная блокировка" + +msgid "" +"A situation in which two or more tasks (threads, processes, or coroutines) " +"wait indefinitely for each other to release resources or complete actions, " +"preventing any from making progress. For example, if thread A holds lock 1 " +"and waits for lock 2, while thread B holds lock 2 and waits for lock 1, both " +"threads will wait indefinitely. In Python this often arises from acquiring " +"multiple locks in conflicting orders or from circular join/await " +"dependencies. Deadlocks can be avoided by always acquiring multiple :term:" +"`locks ` in a consistent order. See also :term:`lock` and :term:" +"`reentrant`." +msgstr "" +"Ситуация, при которой две или более задачи (потоки, процессы или " +"сопрограммы) бесконечно ждут друг от друга освобождения ресурсов или " +"завершения действий, не позволяя ни одной из них продолжить выполнение. " +"Например, если поток A удерживает блокировку 1 и ждёт блокировку 2, а поток " +"B удерживает блокировку 2 и ждёт блокировку 1, оба потока будут ждать " +"бесконечно. В Python взаимные блокировки часто возникают из-за получения " +"нескольких блокировок в конфликтующем порядке или из-за циклических " +"зависимостей между join и await. Взаимных блокировок можно избежать, всегда " +"получая несколько :term:`блокировок ` в одном и том же порядке. См. " +"также :term:`блокировка` и :term:`реентерабельность`." + +msgid "decorator" +msgstr "декоратор" + +msgid "" +"A function returning another function, usually applied as a function " +"transformation using the ``@wrapper`` syntax. Common examples for " +"decorators are :deco:`classmethod` and :deco:`staticmethod`." +msgstr "" +"Функция, возвращающая другую функцию; обычно применяется для преобразования " +"функции с помощью синтаксиса ``@wrapper``. Типичные примеры декораторов — :" +"deco:`classmethod` и :deco:`staticmethod`." + +msgid "" +"The decorator syntax is merely syntactic sugar, the following two function " +"definitions are semantically equivalent::" +msgstr "" +"Синтаксис декораторов является лишь синтаксическим сахаром: следующие два " +"определения функций семантически эквивалентны::" + +msgid "" +"def f(arg):\n" +" ...\n" +"f = staticmethod(f)\n" +"\n" +"@staticmethod\n" +"def f(arg):\n" +" ..." +msgstr "" +"def f(arg):\n" +" ...\n" +"f = staticmethod(f)\n" +"\n" +"@staticmethod\n" +"def f(arg):\n" +" ..." + +msgid "" +"The same concept exists for classes, but is less commonly used there. See " +"the documentation for :ref:`function definitions ` and :ref:`class " +"definitions ` for more about decorators." +msgstr "" +"Тот же принцип применяется и к классам, но используется реже. Подробнее о " +"декораторах см. документацию по :ref:`определениям функций ` и :" +"ref:`определениям классов `." + +msgid "descriptor" +msgstr "дескриптор" + +msgid "" +"Any object which defines the methods :meth:`~object.__get__`, :meth:`~object." +"__set__`, or :meth:`~object.__delete__`. When a class attribute is a " +"descriptor, its special binding behavior is triggered upon attribute " +"lookup. Normally, using *a.b* to get, set or delete an attribute looks up " +"the object named *b* in the class dictionary for *a*, but if *b* is a " +"descriptor, the respective descriptor method gets called. Understanding " +"descriptors is a key to a deep understanding of Python because they are the " +"basis for many features including functions, methods, properties, class " +"methods, static methods, and reference to super classes." +msgstr "" +"Любой объект, определяющий методы :meth:`~object.__get__`, :meth:`~object." +"__set__` или :meth:`~object.__delete__`. Когда атрибут класса является " +"дескриптором, при обращении к этому атрибуту срабатывает специальный " +"механизм связывания. Обычно выражение *a.b* для получения, изменения или " +"удаления атрибута ищет объект с именем *b* в словаре класса *a*, но если *b* " +"является дескриптором, вызывается соответствующий метод дескриптора. " +"Понимание дескрипторов является ключом к глубокому пониманию Python, " +"поскольку они лежат в основе многих возможностей языка, включая функции, " +"методы, свойства, методы класса, статические методы и обращение к " +"суперклассам." + +msgid "" +"For more information about descriptors' methods, see :ref:`descriptors` or " +"the :ref:`Descriptor How To Guide `." +msgstr "" +"Подробнее о методах дескрипторов см. раздел :ref:`descriptors` или :ref:" +"`Практическое руководство по дескрипторам `." + +msgid "dictionary" +msgstr "словарь" + +msgid "" +"An associative array, where arbitrary keys are mapped to values. The keys " +"can be any object with :meth:`~object.__hash__` and :meth:`~object.__eq__` " +"methods. Called a hash in Perl." +msgstr "" +"Ассоциативный массив, в котором произвольные ключи сопоставляются со " +"значениями. Ключами могут быть любые объекты, имеющие методы :meth:`~object." +"__hash__` и :meth:`~object.__eq__`. В Perl называется хэшем." + +msgid "dictionary comprehension" +msgstr "включение словаря" + +msgid "" +"A compact way to process all or part of the elements in an iterable and " +"return a dictionary with the results. ``results = {n: n ** 2 for n in " +"range(10)}`` generates a dictionary containing key ``n`` mapped to value ``n " +"** 2``. See :ref:`comprehensions`." +msgstr "" +"Компактный способ обработать все или часть элементов итерируемого объекта и " +"вернуть словарь с результатами. ``results = {n: n ** 2 for n in range(10)}`` " +"создаёт словарь, содержащий ключ ``n``, сопоставленный со значением ``n ** " +"2``. См. раздел :ref:`comprehensions`." + +msgid "dictionary view" +msgstr "представление словаря" + +msgid "" +"The objects returned from :meth:`dict.keys`, :meth:`dict.values`, and :meth:" +"`dict.items` are called dictionary views. They provide a dynamic view on the " +"dictionary’s entries, which means that when the dictionary changes, the view " +"reflects these changes. To force the dictionary view to become a full list " +"use ``list(dictview)``. See :ref:`dict-views`." +msgstr "" +"Объекты, возвращаемые методами :meth:`dict.keys`, :meth:`dict.values` и :" +"meth:`dict.items`, называются представлениями словаря. Они предоставляют " +"динамическое представление элементов словаря, то есть при изменении словаря " +"эти изменения отражаются в представлении. Чтобы преобразовать представление " +"словаря в полноценный список, используйте ``list(dictview)``. См. раздел :" +"ref:`dict-views`." + +msgid "docstring" +msgstr "строка документации" + +msgid "" +"A string literal which appears as the first expression in a class, function " +"or module. While ignored when the suite is executed, it is recognized by " +"the compiler and put into the :attr:`~definition.__doc__` attribute of the " +"enclosing class, function or module. Since it is available via " +"introspection, it is the canonical place for documentation of the object." +msgstr "" +"Строковый литерал, который является первым выражением в классе, функции или " +"модуле. Хотя при выполнении набора инструкций он игнорируется, компилятор " +"распознаёт его и помещает в атрибут :attr:`~definition.__doc__` содержащего " +"его класса, функции или модуля. Поскольку к нему можно получить доступ " +"средствами интроспекции, это стандартное место для документации объекта." + +msgid "duck-typing" +msgstr "утиная типизация" + +msgid "" +"A programming style which does not look at an object's type to determine if " +"it has the right interface; instead, the method or attribute is simply " +"called or used (\"If it looks like a duck and quacks like a duck, it must be " +"a duck.\") By emphasizing interfaces rather than specific types, well-" +"designed code improves its flexibility by allowing polymorphic " +"substitution. Duck-typing avoids tests using :func:`type` or :func:" +"`isinstance`. (Note, however, that duck-typing can be complemented with :" +"term:`abstract base classes `.) Instead, it typically " +"employs :func:`hasattr` tests or :term:`EAFP` programming." +msgstr "" +"Стиль программирования, при котором тип объекта не используется для " +"определения его интерфейса. Вместо этого метод или атрибут просто вызывается " +"или используется («Если что-то выглядит как утка и крякает как утка, значит, " +"это и есть утка».) Делая акцент на интерфейсах, а не на конкретных типах, " +"хорошо спроектированный код повышает свою гибкость, позволяя выполнять " +"полиморфную замену объектов. Утиная типизация избегает проверок с " +"использованием :func:`type` или :func:`isinstance`. (Однако обратите " +"внимание, что утиная типизация может быть дополнена :term:`абстрактными " +"базовыми классами `.) Вместо этого обычно используются " +"проверки :func:`hasattr` или программирование в стиле :term:`EAFP`." + +msgid "dunder" +msgstr "dunder" + +msgid "" +"An informal short-hand for \"double underscore\", used when talking about a :" +"term:`special method`. For example, ``__init__`` is often pronounced " +"\"dunder init\"." +msgstr "" +"Неформальное сокращение от «double underscore» («двойное подчёркивание»), " +"используемое при упоминании :term:`специального метода`. Например, " +"``__init__`` часто произносится как «dunder init»." + +msgid "EAFP" +msgstr "EAFP" + +msgid "" +"Easier to ask for forgiveness than permission. This common Python coding " +"style assumes the existence of valid keys or attributes and catches " +"exceptions if the assumption proves false. This clean and fast style is " +"characterized by the presence of many :keyword:`try` and :keyword:`except` " +"statements. The technique contrasts with the :term:`LBYL` style common to " +"many other languages such as C." +msgstr "" +"«Проще попросить прощения, чем разрешения» («Easier to ask for forgiveness " +"than permission»). Распространённый в Python стиль программирования, при " +"котором предполагается наличие допустимых ключей или атрибутов, а исключения " +"перехватываются, если это предположение оказывается неверным. Этот чистый и " +"быстрый стиль характеризуется наличием множества инструкций :keyword:`try` " +"и :keyword:`except`. Этот подход противопоставляется стилю :term:`LBYL`, " +"распространённому во многих других языках, например в C." + +msgid "evaluate function" +msgstr "вычисляющая функция" + +msgid "" +"A function that can be called to evaluate a lazily evaluated attribute of an " +"object, such as the value of type aliases created with the :keyword:`type` " +"statement." +msgstr "" +"Функция, которую можно вызвать для вычисления лениво вычисляемого атрибута " +"объекта, например значения псевдонимов типов, созданных с помощью " +"инструкции :keyword:`type`." + +msgid "expression" +msgstr "выражение" + +msgid "" +"A piece of syntax which can be evaluated to some value. In other words, an " +"expression is an accumulation of expression elements like literals, names, " +"attribute access, operators or function calls which all return a value. In " +"contrast to many other languages, not all language constructs are " +"expressions. There are also :term:`statement`\\s which cannot be used as " +"expressions, such as :keyword:`while`. Assignments are also statements, not " +"expressions." +msgstr "" +"Фрагмент синтаксиса, который может быть вычислен до некоторого значения. " +"Другими словами, выражение представляет собой совокупность элементов " +"выражения, таких как литералы, имена, доступ к атрибутам, операторы или " +"вызовы функций, каждый из которых возвращает значение. В отличие от многих " +"других языков, не все языковые конструкции являются выражениями. Существуют " +"также :term:`инструкции`, которые не могут использоваться как выражения, " +"например :keyword:`while`. Присваивания также являются инструкциями, а не " +"выражениями." + +msgid "extension module" +msgstr "модуль расширения" + +msgid "" +"A module written in C or C++, using Python's C API to interact with the core " +"and with user code." +msgstr "" +"Модуль, написанный на C или C++, использующий C API Python для " +"взаимодействия с ядром и пользовательским кодом." + +msgid "f-string" +msgstr "f-строка" + +msgid "f-strings" +msgstr "f-строки" + +msgid "" +"String literals prefixed with ``f`` or ``F`` are commonly called \"f-" +"strings\" which is short for :ref:`formatted string literals `. " +"See also :pep:`498`." +msgstr "" +"Строковые литералы с префиксом ``f`` или ``F`` обычно называются «f-" +"строками» — это сокращение от :ref:`форматированные строковые литералы `. См. также :pep:`498`." + +msgid "file object" +msgstr "файловый объект" + +msgid "" +"An object exposing a file-oriented API (with methods such as :meth:`!read` " +"or :meth:`!write`) to an underlying resource. Depending on the way it was " +"created, a file object can mediate access to a real on-disk file or to " +"another type of storage or communication device (for example standard input/" +"output, in-memory buffers, sockets, pipes, etc.). File objects are also " +"called :dfn:`file-like objects` or :dfn:`streams`." +msgstr "" +"Объект, предоставляющий файлово-ориентированный API (с такими методами, как :" +"meth:`!read` или :meth:`!write`) к базовому ресурсу. В зависимости от " +"способа создания, файловый объект может выступать посредником при доступе к " +"реальному файлу на диске или к другому типу устройства хранения или связи " +"(например, стандартному вводу/выводу, буферам в памяти, сокетам, каналам и " +"т. д.). Файловые объекты также называются :dfn:`файлоподобными объектами` " +"или :dfn:`потоками`." + +msgid "" +"There are actually three categories of file objects: raw :term:`binary files " +"`, buffered :term:`binary files ` and :term:`text " +"files `. Their interfaces are defined in the :mod:`io` module. " +"The canonical way to create a file object is by using the :func:`open` " +"function." +msgstr "" +"На самом деле существует три категории файловых объектов: сырые :term:" +"`двоичные файлы `, буферизованные :term:`двоичные файлы ` и :term:`текстовые файлы `. Их интерфейсы определены в " +"модуле :mod:`io`. Канонический способ создания файлового объекта — " +"использование функции :func:`open`." + +msgid "file-like object" +msgstr "файлоподобный объект" + +msgid "A synonym for :term:`file object`." +msgstr "Синоним :term:`файлового объекта`." + +msgid "filesystem encoding and error handler" +msgstr "кодировка файловой системы и обработчик ошибок" + +msgid "" +"Encoding and error handler used by Python to decode bytes from the operating " +"system and encode Unicode to the operating system." +msgstr "" +"Кодировка и обработчик ошибок, используемые Python для декодирования байтов, " +"получаемых от операционной системы, и кодирования Unicode при передаче " +"данных операционной системе." + +msgid "" +"The filesystem encoding must guarantee to successfully decode all bytes " +"below 128. If the file system encoding fails to provide this guarantee, API " +"functions can raise :exc:`UnicodeError`." +msgstr "" +"Кодировка файловой системы должна гарантировать успешное декодирование всех " +"байтов со значениями меньше 128. Если кодировка файловой системы не " +"обеспечивает эту гарантию, функции API могут возбуждать исключение :exc:" +"`UnicodeError`." + +msgid "" +"The :func:`sys.getfilesystemencoding` and :func:`sys." +"getfilesystemencodeerrors` functions can be used to get the filesystem " +"encoding and error handler." +msgstr "" +"Функции :func:`sys.getfilesystemencoding` и :func:`sys." +"getfilesystemencodeerrors` можно использовать для получения кодировки " +"файловой системы и обработчика ошибок." + +msgid "" +"The :term:`filesystem encoding and error handler` are configured at Python " +"startup by the :c:func:`PyConfig_Read` function: see :c:member:`~PyConfig." +"filesystem_encoding` and :c:member:`~PyConfig.filesystem_errors` members of :" +"c:type:`PyConfig`." +msgstr "" +":term:`Кодировка файловой системы и обработчик ошибок` настраиваются при " +"запуске Python функцией :c:func:`PyConfig_Read`: см. члены :c:member:" +"`~PyConfig.filesystem_encoding` и :c:member:`~PyConfig.filesystem_errors` " +"объекта :c:type:`PyConfig`." + +msgid "See also the :term:`locale encoding`." +msgstr "См. также :term:`кодировку локали`." + +msgid "finder" +msgstr "поисковик" + +msgid "" +"An object that tries to find the :term:`loader` for a module that is being " +"imported." +msgstr "" +"Объект, который пытается найти :term:`загрузчик` для импортируемого модуля." + +msgid "" +"There are two types of finder: :term:`meta path finders ` " +"for use with :data:`sys.meta_path`, and :term:`path entry finders ` for use with :data:`sys.path_hooks`." +msgstr "" +"Существует два типа поисковиков: :term:`поисковики мета-пути `, используемые с :data:`sys.meta_path` и :term:`поисковики элемента " +"пути `, используемые с :data:`sys.path_hooks`." + +msgid "" +"See :ref:`finders-and-loaders` and :mod:`importlib` for much more detail." +msgstr "Подробнее см. в :ref:`finders-and-loaders` и :mod:`importlib`." + +msgid "floor division" +msgstr "целочисленное деление с округлением вниз" + +msgid "" +"Mathematical division that rounds down to nearest integer. The floor " +"division operator is ``//``. For example, the expression ``11 // 4`` " +"evaluates to ``2`` in contrast to the ``2.75`` returned by float true " +"division. Note that ``(-11) // 4`` is ``-3`` because that is ``-2.75`` " +"rounded *downward*. See :pep:`238`." +msgstr "" +"Математическое деление, округляющее результат до ближайшего целого числа в " +"меньшую сторону. Оператор целочисленного деления с округлением вниз — это " +"``//``. Например, выражение ``11 // 4`` вычисляется как ``2``, в отличие от " +"``2.75``, возвращаемого истинным делением чисел с плавающей точкой. Обратите " +"внимание, что ``(-11) // 4`` равно ``-3``, поскольку это значение ``-2.75``, " +"округлённое *вниз*. См. также :pep:`238`." + +msgid "free threading" +msgstr "свободная многопоточность" + +msgid "" +"A threading model where multiple threads can run Python bytecode " +"simultaneously within the same interpreter. This is in contrast to the :" +"term:`global interpreter lock` which allows only one thread to execute " +"Python bytecode at a time. See :pep:`703`." +msgstr "" +"Модель потоков, в которой несколько потоков могут одновременно выполнять " +"байт-код Python в одном интерпретаторе. Это противопоставляется :term:" +"`глобальной блокировке интерпретатора`, которая позволяет выполнять байт-код " +"Python только одному потоку за раз. См. :pep:`703`." + +msgid "free-threaded build" +msgstr "сборка с поддержкой свободной многопоточности" + +msgid "" +"A build of :term:`CPython` that supports :term:`free threading`, configured " +"using the :option:`--disable-gil` option before compilation." +msgstr "" +"Сборка :term:`CPython`, поддерживающая :term:`свободную многопоточность` и " +"настроенная с помощью параметра :option:`--disable-gil` перед компиляцией." + +msgid "See :ref:`freethreading-python-howto`." +msgstr "См. :ref:`freethreading-python-howto`." + +msgid "free variable" +msgstr "свободная переменная" + +msgid "" +"Formally, as defined in the :ref:`language execution model `, a " +"free variable is any variable used in a namespace which is not a local " +"variable in that namespace. See :term:`closure variable` for an example. " +"Pragmatically, due to the name of the :attr:`codeobject.co_freevars` " +"attribute, the term is also sometimes used as a synonym for :term:`closure " +"variable`." +msgstr "" +"Формально, как определено в :ref:`модели выполнения языка `, " +"свободная переменная — это любая переменная, используемая в пространстве " +"имён, которая не является локальной переменной в этом пространстве имён. См. " +"пример в статье о :term:`переменной замыкания`. На практике, из-за названия " +"атрибута :attr:`codeobject.co_freevars`, этот термин также иногда " +"используется как синоним :term:`переменной замыкания`." + +msgid "function" +msgstr "функция" + +msgid "" +"A series of statements which returns some value to a caller. It can also be " +"passed zero or more :term:`arguments ` which may be used in the " +"execution of the body. See also :term:`parameter`, :term:`method`, and the :" +"ref:`function` section." +msgstr "" +"Последовательность инструкций, возвращающая некоторое значение вызывающему " +"её коду. Ей также может быть передано ноль или более :term:`аргументов " +"`, которые могут использоваться при выполнении её тела. См. также :" +"term:`параметр`, :term:`метод` и раздел :ref:`function`." + +msgid "function annotation" +msgstr "аннотация функции" + +msgid "An :term:`annotation` of a function parameter or return value." +msgstr ":term:`Аннотация` параметра функции или возвращаемого значения." + +msgid "" +"Function annotations are usually used for :term:`type hints `: " +"for example, this function is expected to take two :class:`int` arguments " +"and is also expected to have an :class:`int` return value::" +msgstr "" +"Аннотации функций обычно используются для :term:`подсказок типов `. Например, ожидается, что эта функция принимает два аргумента типа :" +"class:`int`, а также возвращает значение типа :class:`int`::" + +msgid "" +"def sum_two_numbers(a: int, b: int) -> int:\n" +" return a + b" +msgstr "" +"def sum_two_numbers(a: int, b: int) -> int:\n" +" return a + b" + +msgid "Function annotation syntax is explained in section :ref:`function`." +msgstr "Синтаксис аннотации функции описан в разделе :ref:`function`." + +msgid "" +"See :term:`variable annotation` and :pep:`484`, which describe this " +"functionality. Also see :ref:`annotations-howto` for best practices on " +"working with annotations." +msgstr "" +"См. :term:`аннотация переменной` и :pep:`484`, которые описывают эту " +"функциональность. Рекомендации по работе с аннотациями см. также в :ref:" +"`annotations-howto`." + +msgid "__future__" +msgstr "__future__" + +msgid "" +"A :ref:`future statement `, ``from __future__ import ``, " +"directs the compiler to compile the current module using syntax or semantics " +"that will become standard in a future release of Python. The :mod:" +"`__future__` module documents the possible values of *feature*. By " +"importing this module and evaluating its variables, you can see when a new " +"feature was first added to the language and when it will (or did) become the " +"default::" +msgstr "" +":ref:`Инструкция future `, ``from __future__ import ``, " +"указывает компилятору обрабатывать текущий модуль с использованием " +"синтаксиса или семантики, которые станут стандартными в будущей версии " +"Python. Модуль :mod:`__future__` документирует возможные значения *feature*. " +"Импортировав этот модуль и изучив его переменные, можно узнать, когда новая " +"функциональность была впервые добавлена в язык и когда она станет (или " +"стала) используемой по умолчанию::" + +msgid "" +">>> import __future__\n" +">>> __future__.division\n" +"_Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)" +msgstr "" +">>> import __future__\n" +">>> __future__.division\n" +"_Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)" + +msgid "garbage collection" +msgstr "сборка мусора" + +msgid "" +"The process of freeing memory when it is not used anymore. Python performs " +"garbage collection via reference counting and a cyclic garbage collector " +"that is able to detect and break reference cycles. The garbage collector " +"can be controlled using the :mod:`gc` module." +msgstr "" +"Процесс освобождения памяти, когда она больше не используется. Python " +"выполняет сборку мусора с помощью подсчёта ссылок и сборщика циклического " +"мусора, способного обнаруживать и разрывать циклы ссылок. Сборщиком мусора " +"можно управлять с помощью модуля :mod:`gc`." + +msgid "generator" +msgstr "генератор" + +msgid "" +"Informally used to mean either a :term:`generator function` or a :term:" +"`generator iterator`, depending on context. The formal terms :term:" +"`generator function` and :term:`generator iterator` are uncommon in " +"practice; \"generator\" alone is almost always sufficient." +msgstr "" +"Неформально используется для обозначения либо :term:`генераторной функции`, " +"либо :term:`генераторного итератора` в зависимости от контекста. Формальные " +"термины :term:`генераторная функция` и :term:`генераторный итератор` на " +"практике используются редко; одного слова «генератор» почти всегда " +"достаточно." + +msgid "generator function" +msgstr "генераторная функция" + +msgid "" +"A function which returns a :term:`generator` object. It looks like a normal " +"function except that it contains :keyword:`yield` expressions for producing " +"a series of values usable in a :keyword:`for`\\-loop or that can be " +"retrieved one at a time with the :func:`next` function. See :ref:`yieldexpr`." +msgstr "" +"Функция, возвращающая объект :term:`генератора`. Выглядит как обычная " +"функция, но содержит выражения :keyword:`yield`, порождающие " +"последовательность значений, которые можно использовать в цикле :keyword:" +"`for` или получать по одному с помощью функции :func:`next`. См. :ref:" +"`yieldexpr`." + +msgid "generator iterator" +msgstr "генераторный итератор" + +msgid "" +"An object created by a :term:`generator function` or a :term:`generator " +"expression`." +msgstr "" +"Объект, созданный :term:`генераторной функцией` или :term:`генераторным " +"выражением`." + +msgid "" +"Each :keyword:`yield` temporarily suspends processing, remembering the " +"execution state (including local variables and pending try-statements). When " +"the *generator iterator* resumes, it picks up where it left off (in contrast " +"to functions which start fresh on every invocation)." +msgstr "" +"Каждое выражение :keyword:`yield` временно приостанавливает обработку кода, " +"сохраняя состояние выполнения (включая локальные переменные и незавершённые " +"инструкции try). Когда *генераторный итератор* возобновляет выполнение, он " +"продолжает его с того места, где остановился (в отличие от функций, которые " +"при каждом вызове начинают выполнение заново)." + +msgid "" +"Generator iterators also implement the :meth:`~generator.send` method to " +"send a value into the suspended generator, and the :meth:`~generator.throw` " +"method to raise an exception at the point where the generator was paused. " +"See :ref:`generator-methods`." +msgstr "" +"Генераторные итераторы также реализуют метод :meth:`~generator.send`, " +"позволяющий передать значение приостановленному генератору, и метод :meth:" +"`~generator.throw`, позволяющий возбудить исключение в точке, где генератор " +"был приостановлен. См. :ref:`generator-methods`." + +msgid "generator expression" +msgstr "генераторное выражение" + +msgid "" +"An :term:`expression` that returns an :term:`iterator`. It looks like a " +"normal expression followed by a :keyword:`!for` clause defining a loop " +"variable, range, and an optional :keyword:`!if` clause. The combined " +"expression generates values for an enclosing function::" +msgstr "" +":term:`Выражение`, возвращающее :term:`итератор`. Выглядит как обычное " +"выражение, за которым следует конструкция :keyword:`!for`, определяющая " +"переменную цикла и диапазон, а также необязательная часть :keyword:`!if`. " +"Такое составное выражение порождает значения для объемлющей функции::" + +msgid "" +">>> sum(i*i for i in range(10)) # sum of squares 0, 1, 4, ... 81\n" +"285" +msgstr "" +">>> sum(i*i for i in range(10)) # сумма квадратов 0, 1, 4, ... 81\n" +"285" + +msgid "generic function" +msgstr "обобщённая функция" + +msgid "" +"A function composed of multiple functions implementing the same operation " +"for different types. Which implementation should be used during a call is " +"determined by the dispatch algorithm." +msgstr "" +"Функция, состоящая из нескольких функций, реализующих одну и ту же операцию " +"для разных типов. Какая реализация должна использоваться во время вызова, " +"определяется алгоритмом диспетчеризации." + +msgid "" +"See also the :term:`single dispatch` glossary entry, the :deco:`functools." +"singledispatch` decorator, and :pep:`443`." +msgstr "" +"См. также статью глоссария :term:`одинарная диспетчеризация`, декоратор :" +"deco:`functools.singledispatch` и :pep:`443`." + +msgid "generic type" +msgstr "обобщённый тип" + +msgid "" +"A :term:`type` that can be parameterized; typically a :ref:`container " +"class` such as :class:`list` or :class:`dict`. Used for :" +"term:`type hints ` and :term:`annotations `." +msgstr "" +":term:`Тип`, который можно параметризовать. Обычно это :ref:`класс-контейнер " +"`, такой как :class:`list` или :class:`dict`. Используется " +"для :term:`подсказок типов ` и :term:`аннотаций `." + +msgid "" +"For more details, see :ref:`generic alias types`, :pep:" +"`483`, :pep:`484`, :pep:`585`, and the :mod:`typing` module." +msgstr "" +"Подробнее см. :ref:`обобщённые псевдонимы типов `, :pep:" +"`483`, :pep:`484`, :pep:`585` и модуль :mod:`typing`." + +msgid "GIL" +msgstr "GIL" + +msgid "See :term:`global interpreter lock`." +msgstr "См. :term:`глобальную блокировку интерпретатора`." + +msgid "global interpreter lock" +msgstr "глобальная блокировка интерпретатора" + +msgid "" +"The mechanism used by the :term:`CPython` interpreter to assure that only " +"one thread executes Python :term:`bytecode` at a time. This simplifies the " +"CPython implementation by making the object model (including critical built-" +"in types such as :class:`dict`) implicitly safe against concurrent access. " +"Locking the entire interpreter makes it easier for the interpreter to be " +"multi-threaded, at the expense of much of the parallelism afforded by multi-" +"processor machines." +msgstr "" +"Механизм, используемый интерпретатором :term:`CPython` для обеспечения того, " +"чтобы одновременно только один поток выполнял :term:`байт-код` Python. Это " +"упрощает реализацию CPython, поскольку объектная модель (включая такие " +"важные встроенные типы, как :class:`dict`) автоматически становится " +"безопасной при конкурентном доступе. Блокировка всего интерпретатора " +"упрощает реализацию многопоточности в интерпретаторе, но за это приходится " +"жертвовать значительной частью параллелизма, предоставляемого " +"многопроцессорными системами." + +msgid "" +"However, some extension modules, either standard or third-party, are " +"designed so as to release the GIL when doing computationally intensive tasks " +"such as compression or hashing. Also, the GIL is always released when doing " +"I/O." +msgstr "" +"Однако некоторые модули расширений, как стандартные, так и сторонние, " +"спроектированы так, чтобы освобождать GIL при выполнении вычислительно " +"интенсивных задач, таких как сжатие или хэширование. Кроме того, при " +"выполнении операций ввода-вывода GIL всегда освобождается." + +msgid "" +"As of Python 3.13, the GIL can be disabled using the :option:`--disable-gil` " +"build configuration. After building Python with this option, code must be " +"run with :option:`-X gil=0 <-X>` or after setting the :envvar:`PYTHON_GIL=0 " +"` environment variable. This feature enables improved " +"performance for multi-threaded applications and makes it easier to use multi-" +"core CPUs efficiently. For more details, see :pep:`703`." +msgstr "" +"Начиная с Python 3.13, GIL можно отключить с помощью параметра конфигурации " +"сборки :option:`--disable-gil`. После сборки Python с этой опцией код " +"необходимо запустить с :option:`-X gil=0 <-X>` или после установки " +"переменной окружения :envvar:`PYTHON_GIL=0 `. Эта возможность " +"позволяет повысить производительность многопоточных приложений и упрощает " +"эффективное использование многоядерных процессоров. Подробнее см. :pep:`703`." + +msgid "" +"In prior versions of Python's C API, a function might declare that it " +"requires the GIL to be held in order to use it. This refers to having an :" +"term:`attached thread state`." +msgstr "" +"В предыдущих версиях C API Python функция могла объявить, что для её " +"использования необходимо удерживать GIL. Под этим подразумевалось наличие :" +"term:`присоединённого состояния потока`." + +msgid "global state" +msgstr "глобальное состояние" + +msgid "" +"Data that is accessible throughout a program, such as module-level " +"variables, class variables, or C static variables in :term:`extension " +"modules `. In multi-threaded programs, global state " +"shared between threads typically requires synchronization to avoid :term:" +"`race conditions ` and :term:`data races `." +msgstr "" +"Данные, доступные во всей программе, такие как переменные на уровне модуля, " +"переменные классов или статические переменные языка C в :term:`модулях " +"расширений `. В многопоточных программах глобальное " +"состояние, совместно используемое потоками, обычно требует синхронизации, " +"чтобы избежать :term:`состояний гонки ` и :term:`гонок " +"данных `." + +msgid "hash-based pyc" +msgstr "pyc на основе хэша" + +msgid "" +"A bytecode cache file that uses the hash rather than the last-modified time " +"of the corresponding source file to determine its validity. See :ref:`pyc-" +"invalidation`." +msgstr "" +"Файл кэша байт-кода, который использует хэш, а не время последнего изменения " +"соответствующего исходного файла для определения его актуальности. См. :ref:" +"`pyc-invalidation`." + +msgid "hashable" +msgstr "хэшируемый" + +msgid "" +"An object is *hashable* if it has a hash value which never changes during " +"its lifetime (it needs a :meth:`~object.__hash__` method), and can be " +"compared to other objects (it needs an :meth:`~object.__eq__` method). " +"Hashable objects which compare equal must have the same hash value." +msgstr "" +"Объект является *хэшируемым*, если он имеет хэш-значение, которое никогда не " +"меняется в течение его времени жизни (для этого требуется метод :meth:" +"`~object.__hash__`) и его можно сравнивать с другими объектами (для этого " +"нужен :meth:`~object.__eq__`). Хэшируемые объекты, которые считаются " +"равными, должны иметь одинаковое хэш-значение." + +msgid "" +"Hashability makes an object usable as a dictionary key and a set member, " +"because these data structures use the hash value internally." +msgstr "" +"Хэшируемость позволяет использовать объект в качестве ключа словаря и " +"элемента множества, поскольку эти структуры данных используют хэш-значения " +"внутри себя." + +msgid "" +"Most of Python's immutable built-in objects are hashable; mutable containers " +"(such as lists or dictionaries) are not; immutable containers (such as " +"tuples and frozensets) are only hashable if their elements are hashable. " +"Objects which are instances of user-defined classes are hashable by " +"default. They all compare unequal (except with themselves), and their hash " +"value is derived from their :func:`id`." +msgstr "" +"Большинство неизменяемых встроенных объектов Python являются хэшируемыми; " +"изменяемые контейнеры (такие как списки или словари) — нет; неизменяемые " +"контейнеры (такие как кортежи и замороженные множества) хэшируемы только в " +"том случае, если их элементы хэшируемы. Объекты, являющиеся экземплярами " +"пользовательских классов, по умолчанию хэшируемы. Все они неравны друг другу " +"(кроме самих себя), а их хэш-значение получается из их :func:`id`." + +msgid "IDLE" +msgstr "IDLE" + +msgid "" +"An Integrated Development and Learning Environment for Python. :ref:`idle` " +"is a basic editor and interpreter environment which ships with the standard " +"distribution of Python." +msgstr "" +"Интегрированная среда разработки и обучения для языка Python. :ref:`idle` — " +"это базовый редактор и оболочка интерпретатора, входящие в стандартный " +"дистрибутив Python." + +msgid "immortal" +msgstr "бессмертный" + +msgid "" +"*Immortal objects* are a CPython implementation detail introduced in :pep:" +"`683`." +msgstr "" +"*Бессмертные объекты* — это деталь реализации CPython, представленная в :pep:" +"`683`." + +msgid "" +"If an object is immortal, its :term:`reference count` is never modified, and " +"therefore it is never deallocated while the interpreter is running. For " +"example, :const:`True` and :const:`None` are immortal in CPython." +msgstr "" +"Если объект бессмертен, его :term:`счётчик ссылок` никогда не изменяется и, " +"следовательно, он никогда не освобождается во время работы интерпретатора. " +"Например, :const:`True` и :const:`None` бессмертны в CPython." + +msgid "" +"Immortal objects can be identified via :func:`sys._is_immortal`, or via :c:" +"func:`PyUnstable_IsImmortal` in the C API." +msgstr "" +"Бессмертные объекты можно определить с помощью :func:`sys._is_immortal` или " +"с помощью :c:func:`PyUnstable_IsImmortal` в C API." + +msgid "immutable" +msgstr "неизменяемый" + +msgid "" +"An object with a fixed value. Immutable objects include numbers, strings " +"and tuples. Such an object cannot be altered. A new object has to be " +"created if a different value has to be stored. They play an important role " +"in places where a constant hash value is needed, for example as a key in a " +"dictionary. Immutable objects are inherently :term:`thread-safe` because " +"their state cannot be modified after creation, eliminating concerns about " +"improperly synchronized :term:`concurrent modification`." +msgstr "" +"Объект с фиксированным значением. К неизменяемым объектам относятся числа, " +"строки и кортежи. Такой объект нельзя изменить. Если требуется сохранить " +"другое значение, необходимо создать новый объект. Они играют важную роль " +"там, где требуется постоянное хэш-значение, например в качестве ключа " +"словаря. Неизменяемые объекты по своей природе :term:`потокобезопасны`, " +"поскольку после создания их состояние не может быть изменено, что исключает " +"проблемы, связанные с неправильно синхронизированным :term:`конкурентным " +"изменением`." + +msgid "import path" +msgstr "путь импорта" + +msgid "" +"A list of locations (or :term:`path entries `) that are searched " +"by the :term:`path based finder` for modules to import. During import, this " +"list of locations usually comes from :data:`sys.path`, but for subpackages " +"it may also come from the parent package's ``__path__`` attribute." +msgstr "" +"Список расположений (или :term:`элементов пути `), в которых :" +"term:`поисковик по пути` ищет импортируемые модули. Во время импорта этот " +"список расположений обычно берётся из :data:`sys.path`, но для подпакетов он " +"также может быть получен из атрибута ``__path__`` родительского пакета." + +msgid "importing" +msgstr "импортирование" + +msgid "" +"The process by which Python code in one module is made available to Python " +"code in another module." +msgstr "" +"Процесс, посредством которого код Python из одного модуля становится " +"доступен коду Python в другом модуле." + +msgid "importer" +msgstr "импортёр" + +msgid "" +"An object that both finds and loads a module; both a :term:`finder` and :" +"term:`loader` object." +msgstr "" +"Объект, который находит и загружает модуль; является одновременно и :term:" +"`поисковиком`, и :term:`загрузчиком`." + +msgid "index" +msgstr "индекс" + +msgid "" +"A numeric value that represents the position of an element in a :term:" +"`sequence`." +msgstr "" +"Числовое значение, представляющее позицию элемента в :term:" +"`последовательности`." + +msgid "" +"In Python, indexing starts at zero. For example, ``things[0]`` names the " +"*first* element of ``things``; ``things[1]`` names the second one." +msgstr "" +"В Python индексация начинается с нуля. Например, ``things[0]`` обозначает " +"*первый* элемент ``things``, а ``things[1]`` — второй." + +msgid "" +"In some contexts, Python allows negative indexes for counting from the end " +"of a sequence, and indexing using :term:`slices `." +msgstr "" +"В некоторых контекстах Python допускает отрицательные индексы для отсчёта от " +"конца последовательности, а также индексацию с использованием :term:`срезов " +"`." + +msgid "See also :term:`subscript`." +msgstr "См. также :term:`индексатор`." + +msgid "interactive" +msgstr "интерактивный" + +msgid "" +"Python has an interactive interpreter which means you can enter statements " +"and expressions at the interpreter prompt, immediately execute them and see " +"their results. Just launch ``python`` with no arguments (possibly by " +"selecting it from your computer's main menu). It is a very powerful way to " +"test out new ideas or inspect modules and packages (remember ``help(x)``). " +"For more on interactive mode, see :ref:`tut-interac`." +msgstr "" +"Python имеет интерактивный интерпретатор, то есть вы можете вводить " +"инструкции и выражения в приглашении интерпретатора, немедленно выполнять их " +"и видеть результаты. Просто запустите ``python`` без аргументов (возможно, " +"выбрав его в главном меню компьютера). Это очень удобный способ проверить " +"новые идеи или исследовать модули и пакеты (помните о ``help(x)``). " +"Подробнее об интерактивном режиме см. :ref:`tut-interac`." + +msgid "interpreted" +msgstr "интерпретируемый" + +msgid "" +"Python is an interpreted language, as opposed to a compiled one, though the " +"distinction can be blurry because of the presence of the bytecode compiler. " +"This means that source files can be run directly without explicitly creating " +"an executable which is then run. Interpreted languages typically have a " +"shorter development/debug cycle than compiled ones, though their programs " +"generally also run more slowly. See also :term:`interactive`." +msgstr "" +"Python — это интерпретируемый язык, а не компилируемый, хотя различие может " +"быть размытым из-за наличия компилятора байт-кода. Это означает, что " +"исходные файлы можно запускать напрямую, без явного создания исполняемого " +"файла, который затем запускается. Интерпретируемые языки обычно имеют более " +"короткий цикл разработки и отладки, чем компилируемые, хотя их программы " +"обычно выполняются медленнее. См. также :term:`интерактивный`." + +msgid "interpreter shutdown" +msgstr "завершение работы интерпретатора" + +msgid "" +"When asked to shut down, the Python interpreter enters a special phase where " +"it gradually releases all allocated resources, such as modules and various " +"critical internal structures. It also makes several calls to the :term:" +"`garbage collector `. This can trigger the execution of " +"code in user-defined destructors or weakref callbacks. Code executed during " +"the shutdown phase can encounter various exceptions as the resources it " +"relies on may not function anymore (common examples are library modules or " +"the warnings machinery)." +msgstr "" +"При получении команды на завершение работы интерпретатор Python переходит в " +"специальную фазу, в которой он постепенно освобождает все выделенные " +"ресурсы, такие как модули и различные важные внутренние структуры. Он также " +"несколько раз вызывает :term:`сборщик мусора `. Это " +"может привести к выполнению кода в пользовательских деструкторах или " +"обратных вызовах слабых ссылок. Код, выполняемый на этапе завершения работы, " +"может столкнуться с различными исключениями, поскольку используемые им " +"ресурсы могут больше не функционировать (распространённые примеры — " +"библиотечные модули или механизм обработки предупреждений)." + +msgid "" +"The main reason for interpreter shutdown is that the ``__main__`` module or " +"the script being run has finished executing." +msgstr "" +"Основная причина завершения работы интерпретатора заключается в том, что " +"модуль ``__main__`` или выполняемый скрипт завершил выполнение." + +msgid "iterable" +msgstr "итерируемый" + +msgid "" +"An object capable of returning its members one at a time. Examples of " +"iterables include all sequence types (such as :class:`list`, :class:`str`, " +"and :class:`tuple`) and some non-sequence types like :class:`dict`, :term:" +"`file objects `, and objects of any classes you define with an :" +"meth:`~object.__iter__` method or with a :meth:`~object.__getitem__` method " +"that implements :term:`sequence` semantics." +msgstr "" +"Объект, способный возвращать свои элементы по одному. К итерируемым " +"относятся все последовательности (такие как :class:`list`, :class:`str` и :" +"class:`tuple`), а также некоторые типы, не являющиеся последовательностями, " +"например :class:`dict`, :term:`файловые объекты ` и объекты " +"любых определяемых вами классов, в которых реализован метод :meth:`~object." +"__iter__` или :meth:`~object.__getitem__`, реализующий семантику :term:" +"`последовательностей`." + +msgid "" +"Iterables can be used in a :keyword:`for` loop and in many other places " +"where a sequence is needed (:func:`zip`, :func:`map`, ...). When an " +"iterable object is passed as an argument to the built-in function :func:" +"`iter`, it returns an iterator for the object. This iterator is good for " +"one pass over the set of values. When using iterables, it is usually not " +"necessary to call :func:`iter` or deal with iterator objects yourself. The :" +"keyword:`for` statement does that automatically for you, creating a " +"temporary unnamed variable to hold the iterator for the duration of the " +"loop. See also :term:`iterator`, :term:`sequence`, and :term:`generator`." +msgstr "" +"Итерируемые объекты можно использовать в цикле :keyword:`for` и во многих " +"других местах, где требуется последовательность (:func:`zip`, :func:`map` и " +"т. д.). Когда итерируемый объект передаётся в качестве аргумента встроенной " +"функции :func:`iter`, она возвращает итератор этого объекта. Такой итератор " +"предназначен для однократного прохода по набору значений. При работе с " +"итерируемыми объектами обычно нет необходимости самостоятельно вызывать :" +"func:`iter` или работать с объектами-итераторами. Инструкция :keyword:`for` " +"делает это автоматически, создавая временную безымянную переменную, в " +"которой хранится итератор на время выполнения цикла. См. также :term:" +"`итератор`, :term:`последовательность` и :term:`генератор`." + +msgid "iterator" +msgstr "итератор" + +msgid "" +"An object representing a stream of data. Repeated calls to the iterator's :" +"meth:`~iterator.__next__` method (or passing it to the built-in function :" +"func:`next`) return successive items in the stream. When no more data are " +"available a :exc:`StopIteration` exception is raised instead. At this " +"point, the iterator object is exhausted and any further calls to its :meth:`!" +"__next__` method just raise :exc:`StopIteration` again. Iterators are " +"required to have an :meth:`~iterator.__iter__` method that returns the " +"iterator object itself so every iterator is also iterable and may be used in " +"most places where other iterables are accepted. One notable exception is " +"code which attempts multiple iteration passes. A container object (such as " +"a :class:`list`) produces a fresh new iterator each time you pass it to the :" +"func:`iter` function or use it in a :keyword:`for` loop. Attempting this " +"with an iterator will just return the same exhausted iterator object used in " +"the previous iteration pass, making it appear like an empty container." +msgstr "" +"Объект, представляющий поток данных. Повторные вызовы метода :meth:" +"`~iterator.__next__` итератора (или передача его встроенной функции :func:" +"`next`) возвращают следующие элементы в потоке. Когда данные заканчиваются, " +"вместо этого возбуждается исключение :exc:`StopIteration`. После этого " +"итератор считается исчерпанным, и любые последующие вызовы его метода :meth:" +"`!__next__` снова возбуждают :exc:`StopIteration`. Итераторы должны иметь " +"метод :meth:`~iterator.__iter__`, возвращающий сам объект-итератор, поэтому " +"каждый итератор также является итерируемым объектом и может использоваться в " +"большинстве мест, где принимаются другие итерируемые объекты. Одно важное " +"исключение — код, пытающийся выполнить несколько проходов по данным. " +"Контейнер (например, :class:`list`) создаёт новый итератор при каждом вызове " +"для него функции :func:`iter` или использовании его в цикле :keyword:`for`. " +"При попытке сделать то же самое с итератором возвращается тот же исчерпанный " +"объект-итератор, использовавшийся при предыдущем проходе, из-за чего он " +"выглядит как пустой контейнер." + +msgid "More information can be found in :ref:`typeiter`." +msgstr "Больше информации можно найти в :ref:`typeiter`." + +msgid "" +"CPython does not consistently apply the requirement that an iterator define :" +"meth:`~iterator.__iter__`. And also please note that :term:`free-threaded " +"` CPython does not guarantee :term:`thread-safe` behavior of " +"iterator operations." +msgstr "" +"CPython не всегда соблюдает требование о наличии у итератора метода :meth:" +"`~iterator.__iter__`. Также обратите внимание, что CPython со :term:" +"`свободной многопоточностью ` не гарантирует :term:" +"`потокобезопасность` операций над итераторами." + +msgid "key" +msgstr "ключ" + +msgid "" +"A value that identifies an entry in a :term:`mapping`. See also :term:" +"`subscript`." +msgstr "" +"Значение, идентифицирующее элемент :term:`отображения`. См. также :term:" +"`индексатор`." + +msgid "key function" +msgstr "ключевая функция" + +msgid "" +"A key function or collation function is a callable that returns a value used " +"for sorting or ordering. For example, :func:`locale.strxfrm` is used to " +"produce a sort key that is aware of locale specific sort conventions." +msgstr "" +"Ключевая функция или функция сопоставления — это вызываемый объект, который " +"возвращает значение, используемое для сортировки или упорядочивания. " +"Например, функция :func:`locale.strxfrm` используется для получения ключа " +"сортировки, учитывающего специфичные для локали правила сортировки." + +msgid "" +"A number of tools in Python accept key functions to control how elements are " +"ordered or grouped. They include :func:`min`, :func:`max`, :func:`sorted`, :" +"meth:`list.sort`, :func:`heapq.merge`, :func:`heapq.nsmallest`, :func:`heapq." +"nlargest`, and :func:`itertools.groupby`." +msgstr "" +"Ряд инструментов Python поддерживает ключевые функции для управления " +"порядком или группировкой элементов. К ним относятся :func:`min`, :func:" +"`max`, :func:`sorted`, :meth:`list.sort`, :func:`heapq.merge`, :func:`heapq." +"nsmallest`, :func:`heapq.nlargest` и :func:`itertools.groupby`." + +msgid "" +"There are several ways to create a key function. For example. the :meth:" +"`str.casefold` method can serve as a key function for case insensitive " +"sorts. Alternatively, a key function can be built from a :keyword:`lambda` " +"expression such as ``lambda r: (r[0], r[2])``. Also, :func:`operator." +"attrgetter`, :func:`operator.itemgetter`, and :func:`operator.methodcaller` " +"are three key function constructors. See the :ref:`Sorting HOW TO " +"` for examples of how to create and use key functions." +msgstr "" +"Существует несколько способов создать ключевую функцию. Например, метод :" +"meth:`str.casefold` может использоваться как ключевая функция для сортировки " +"без учёта регистра. В качестве альтернативы ключевую функцию можно создать с " +"помощью :keyword:`lambda` выражения, например ``lambda r: (r[0], r[2])``. " +"Кроме того, :func:`operator.attrgetter`, :func:`operator.itemgetter` и :func:" +"`operator.methodcaller` являются тремя конструкторами ключевых функций. См. :" +"ref:`практическое руководство по сортировке ` для примеров " +"создания и использования ключевых функций." + +msgid "keyword argument" +msgstr "именованный аргумент" + +msgid "See :term:`argument`." +msgstr "Смотри :term:`аргумент`." + +msgid "lambda" +msgstr "лямбда" + +msgid "" +"An anonymous inline function consisting of a single :term:`expression` which " +"is evaluated when the function is called. The syntax to create a lambda " +"function is ``lambda [parameters]: expression``" +msgstr "" +"Анонимная встроенная функция, состоящая из одного :term:`выражения`, которое " +"вычисляется при вызове функции. Синтаксис создания лямбда-функции: ``lambda " +"[parameters]: expression``" + +msgid "LBYL" +msgstr "LBYL" + +msgid "" +"Look before you leap. This coding style explicitly tests for pre-conditions " +"before making calls or lookups. This style contrasts with the :term:`EAFP` " +"approach and is characterized by the presence of many :keyword:`if` " +"statements." +msgstr "" +"«Посмотри, прежде чем прыгнуть» («Look before you leap»). Стиль " +"программирования, при котором перед выполнением вызовов или обращений явно " +"проверяются предварительные условия. Этот стиль противопоставляется подходу :" +"term:`EAFP` и характеризуется наличием множества инструкций :keyword:`if`." + +msgid "" +"In a multi-threaded environment, the LBYL approach can risk introducing a :" +"term:`race condition` between \"the looking\" and \"the leaping\". For " +"example, the code, ``if key in mapping: return mapping[key]`` can fail if " +"another thread removes *key* from *mapping* after the test, but before the " +"lookup. This issue can be solved with :term:`locks ` or by using the :" +"term:`EAFP` approach. See also :term:`thread-safe`." +msgstr "" +"В многопоточной среде подход LBYL может привести к возникновению :term:" +"`состояния гонки` между «проверкой» и «действием». Например, код ``if key in " +"mapping: return mapping[key]`` может завершиться ошибкой, если другой поток " +"удалит *key* из *mapping* после проверки, но до обращения к элементу. Эту " +"проблему можно решить с помощью :term:`блокировок ` или используя " +"подход :term:`EAFP`. См. также :term:`потокобезопасный`." + +msgid "lexical analyzer" +msgstr "лексический анализатор" + +msgid "Formal name for the *tokenizer*; see :term:`token`." +msgstr "Официальное название для *токенизатора*. См. :term:`токен`." + +msgid "list" +msgstr "список" + +msgid "" +"A built-in Python :term:`sequence`. Despite its name it is more akin to an " +"array in other languages than to a linked list since access to elements is " +"*O*\\ (1)." +msgstr "" +"Встроенная :term:`последовательность` Python. Несмотря на своё название, она " +"больше похожа на массив в других языках, чем на связный список, поскольку " +"доступ к элементам имеет сложность *O*\\ (1)." + +msgid "list comprehension" +msgstr "включение списка" + +msgid "" +"A compact way to process all or part of the elements in a sequence and " +"return a list with the results. ``result = ['{:#04x}'.format(x) for x in " +"range(256) if x % 2 == 0]`` generates a list of strings containing even hex " +"numbers (0x..) in the range from 0 to 255. The :keyword:`if` clause is " +"optional. If omitted, all elements in ``range(256)`` are processed." +msgstr "" +"Компактный способ обработать все или часть элементов последовательности и " +"вернуть список с результатами. Например, ``result = ['{:#04x}'.format(x) for " +"x in range(256) if x % 2 == 0]`` создаёт список строк, содержащих чётные " +"шестнадцатеричные числа (0x..) в диапазоне от 0 до 255. Условие :keyword:" +"`if` является необязательным. Если оно опущено, обрабатываются все элементы " +"``range(256)``." + +msgid "lock" +msgstr "блокировка" + +msgid "" +"A :term:`synchronization primitive` that allows only one thread at a time to " +"access a shared resource. A thread must acquire a lock before accessing the " +"protected resource and release it afterward. If a thread attempts to " +"acquire a lock that is already held by another thread, it will block until " +"the lock becomes available. Python's :mod:`threading` module provides :" +"class:`~threading.Lock` (a basic lock) and :class:`~threading.RLock` (a :" +"term:`reentrant` lock). Locks are used to prevent :term:`race conditions " +"` and ensure :term:`thread-safe` access to shared data. " +"Alternative design patterns to locks exist such as queues, producer/consumer " +"patterns, and thread-local state. See also :term:`deadlock`, and :term:" +"`reentrant`." +msgstr "" +":term:`Примитив синхронизации`, который позволяет только одному потоку " +"одновременно получать доступ к общему ресурсу. Поток должен захватить " +"блокировку перед доступом к защищённому ресурсу и освободить её после этого. " +"Если поток пытается захватить блокировку, которая уже удерживается другим " +"потоком, он будет заблокирован до тех пор, пока блокировка не станет " +"доступной. Модуль Python :mod:`threading` предоставляет :class:`~threading." +"Lock` (простую блокировку) и :class:`~threading.RLock` (:term:" +"`реентерабельную` блокировку). Блокировки используются для предотвращения :" +"term:`состояний гонки` и обеспечения :term:`потокобезопасного` доступа к " +"общим данным. Существуют альтернативные шаблоны проектирования, не " +"использующие блокировки, например очереди, шаблоны «производитель — " +"потребитель» и локальное состояние потока. См. также :term:`взаимная " +"блокировка` и :term:`реентерабельность`." + +msgid "lock-free" +msgstr "свободный от блокировок" + +msgid "" +"An operation that does not acquire any :term:`lock` and uses atomic CPU " +"instructions to ensure correctness. Lock-free operations can execute " +"concurrently without blocking each other and cannot be blocked by operations " +"that hold locks. In :term:`free-threaded ` Python, built-in " +"types like :class:`dict` and :class:`list` provide lock-free read " +"operations, which means other threads may observe intermediate states during " +"multi-step modifications even when those modifications hold the :term:`per-" +"object lock`." +msgstr "" +"Операция, которая не захватывает никакой :term:`блокировки` и использует " +"атомарные инструкции процессора для обеспечения корректности. Операции без " +"блокировок могут выполняться конкурентно, не блокируя друг друга, и не могут " +"быть заблокированы операциями, удерживающими блокировки. В версии Python со :" +"term:`свободной многопоточностью ` встроенные типы, такие " +"как :class:`dict` и :class:`list`, предоставляют операции чтения без " +"блокировок. Это означает, что другие потоки могут наблюдать промежуточные " +"состояния при многошаговых изменениях, даже если эти изменения удерживают :" +"term:`блокировку объекта`." + +msgid "loader" +msgstr "загрузчик" + +msgid "" +"An object that loads a module. It must define the :meth:`!exec_module` and :" +"meth:`!create_module` methods to implement the :class:`~importlib.abc." +"Loader` interface. A loader is typically returned by a :term:`finder`. See " +"also:" +msgstr "" +"Объект, загружающий модуль. Он должен определять методы :meth:`!exec_module` " +"и :meth:`!create_module` для реализации интерфейса :class:`~importlib.abc." +"Loader`. Загрузчик обычно возвращается :term:`поисковиком`. См. также:" + +msgid ":ref:`finders-and-loaders`" +msgstr ":ref:`finders-and-loaders`" + +msgid ":class:`importlib.abc.Loader`" +msgstr ":class:`importlib.abc.Loader`" + +msgid ":pep:`302`" +msgstr ":pep:`302`" + +msgid "locale encoding" +msgstr "кодировка локали" + +msgid "" +"On Unix, it is the encoding of the LC_CTYPE locale. It can be set with :func:" +"`locale.setlocale(locale.LC_CTYPE, new_locale) `." +msgstr "" +"В Unix это кодировка локали LC_CTYPE. Её можно установить с помощью :func:" +"`locale.setlocale(locale.LC_CTYPE, new_locale) `." + +msgid "On Windows, it is the ANSI code page (ex: ``\"cp1252\"``)." +msgstr "В Windows это кодовая страница ANSI (например: ``\"cp1252\"``)." + +msgid "" +"On Android and VxWorks, Python uses ``\"utf-8\"`` as the locale encoding." +msgstr "" +"В Android и VxWorks Python использует ``\"utf-8\"`` в качестве кодировки " +"локали." + +msgid ":func:`locale.getencoding` can be used to get the locale encoding." +msgstr "" +"Для получения кодировки локали можно использовать :func:`locale.getencoding`." + +msgid "See also the :term:`filesystem encoding and error handler`." +msgstr "См. также :term:`кодировку файловой системы и обработчик ошибок`." + +msgid "magic method" +msgstr "магический метод" + +msgid "An informal synonym for :term:`special method`." +msgstr "Неформальный синоним термина :term:`специальный метод`." + +msgid "mapping" +msgstr "отображение" + +msgid "" +"A container object that supports arbitrary key lookups and implements the " +"methods specified in the :class:`collections.abc.Mapping` or :class:" +"`collections.abc.MutableMapping` :ref:`abstract base classes `. Examples include :class:`dict`, :class:" +"`collections.defaultdict`, :class:`collections.OrderedDict` and :class:" +"`collections.Counter`." +msgstr "" +"Контейнерный объект, который поддерживает поиск по произвольным ключам и " +"реализует методы, определённые в :ref:`абстрактных базовых классах " +"` :class:`collections.abc.Mapping` или :" +"class:`collections.abc.MutableMapping`. Примеры включают :class:`dict`, :" +"class:`collections.defaultdict`, :class:`collections.OrderedDict` и :class:" +"`collections.Counter`." + +msgid "meta path finder" +msgstr "поисковик мета-пути" + +msgid "" +"A :term:`finder` returned by a search of :data:`sys.meta_path`. Meta path " +"finders are related to, but different from :term:`path entry finders `." +msgstr "" +":term:`Поисковик`, возвращаемый при поиске в :data:`sys.meta_path`. " +"Поисковики мета-пути связаны с :term:`поисковиками элемента пути `, но отличаются от них." + +msgid "" +"See :class:`importlib.abc.MetaPathFinder` for the methods that meta path " +"finders implement." +msgstr "" +"См. :class:`importlib.abc.MetaPathFinder` для получения информации о " +"методах, которые реализуют поисковики мета-пути." + +msgid "metaclass" +msgstr "метакласс" + +msgid "" +"The class of a class. Class definitions create a class name, a class " +"dictionary, and a list of base classes. The metaclass is responsible for " +"taking those three arguments and creating the class. Most object oriented " +"programming languages provide a default implementation. What makes Python " +"special is that it is possible to create custom metaclasses. Most users " +"never need this tool, but when the need arises, metaclasses can provide " +"powerful, elegant solutions. They have been used for logging attribute " +"access, adding thread-safety, tracking object creation, implementing " +"singletons, and many other tasks." +msgstr "" +"Класс класса. Определения классов создают имя класса, словарь класса и " +"список базовых классов. Метакласс отвечает за обработку этих трёх аргументов " +"и создание класса. Большинство объектно-ориентированных языков " +"программирования предоставляют реализацию по умолчанию. Особенность Python " +"заключается в том, что можно создавать пользовательские метаклассы. " +"Большинству пользователей этот инструмент никогда не требуется, но когда " +"возникает такая необходимость, метаклассы могут предоставлять мощные и " +"элегантные решения. Они использовались для ведения журнала доступа к " +"атрибутам, добавления потокобезопасности, отслеживания создания объектов, " +"реализации синглтонов и решения множества других задач." + +msgid "More information can be found in :ref:`metaclasses`." +msgstr "Подробнее см. :ref:`metaclasses`." + +msgid "method" +msgstr "метод" + +msgid "" +"A function which is defined inside a class body. If called as an attribute " +"of an instance of that class, the method will get the instance object as its " +"first :term:`argument` (which is usually called ``self``). See :term:" +"`function` and :term:`nested scope`." +msgstr "" +"Функция, определённая внутри тела класса. Если она вызывается как атрибут " +"экземпляра этого класса, метод получает объект экземпляра в качестве " +"первого :term:`аргумента` (который обычно называется ``self``). См. также :" +"term:`функция` и :term:`вложенная область видимости`." + +msgid "method resolution order" +msgstr "порядок разрешения методов" + +msgid "" +"Method Resolution Order is the order in which base classes are searched for " +"a member during lookup. See :ref:`python_2.3_mro` for details of the " +"algorithm used by the Python interpreter since the 2.3 release." +msgstr "" +"Порядок разрешения методов — это порядок, в котором базовые классы " +"просматриваются при поиске члена класса. См. :ref:`python_2.3_mro` для " +"подробностей алгоритма, используемого интерпретатором Python начиная с " +"версии 2.3." + +msgid "module" +msgstr "модуль" + +msgid "" +"An object that serves as an organizational unit of Python code. Modules " +"have a namespace containing arbitrary Python objects. Modules are loaded " +"into Python by the process of :term:`importing`." +msgstr "" +"Объект, который служит организационной единицей кода Python. Модули имеют " +"пространство имён, содержащее произвольные объекты Python. Модули " +"загружаются в Python в процессе :term:`импорта`." + +msgid "See also :term:`package`." +msgstr "См. также :term:`пакет`." + +msgid "module spec" +msgstr "спецификация модуля" + +msgid "" +"A namespace containing the import-related information used to load a module. " +"An instance of :class:`importlib.machinery.ModuleSpec`." +msgstr "" +"Пространство имён, содержащее связанную с импортом информацию, используемую " +"для загрузки модуля. Экземпляр :class:`importlib.machinery.ModuleSpec`." + +msgid "See also :ref:`module-specs`." +msgstr "См. также :ref:`module-specs`." + +msgid "MRO" +msgstr "MRO" + +msgid "See :term:`method resolution order`." +msgstr "Смотри :term:`порядок разрешения методов`." + +msgid "mutable" +msgstr "изменяемый" + +msgid "" +"An :term:`object` with state that is allowed to change during the course of " +"the program. In multi-threaded programs, mutable objects that are shared " +"between threads require careful synchronization to avoid :term:`race " +"conditions `. See also :term:`immutable`, :term:`thread-" +"safe`, and :term:`concurrent modification`." +msgstr "" +":term:`Объект` с состоянием, которое может изменяться в процессе выполнения " +"программы. В многопоточных программах изменяемые объекты, общие для " +"нескольких потоков, требуют тщательной синхронизации во избежание :term:" +"`состояний гонки `. См. также :term:`неизменяемый`, :term:" +"`потокобезопасный` и :term:`конкурентное изменение`." + +msgid "named tuple" +msgstr "именованный кортеж" + +msgid "" +"The term \"named tuple\" applies to any type or class that inherits from " +"tuple and whose indexable elements are also accessible using named " +"attributes. The type or class may have other features as well." +msgstr "" +"Термин «именованный кортеж» применяется к любому типу или классу, который " +"наследуется от кортежа и чьи индексируемые элементы также доступны через " +"именованные атрибуты. У такого типа или класса могут быть и другие " +"возможности." + +msgid "" +"Several built-in types are named tuples, including the values returned by :" +"func:`time.localtime` and :func:`os.stat`. Another example is :data:`sys." +"float_info`::" +msgstr "" +"Несколько встроенных типов являются именованными кортежами, включая " +"значения, возвращаемые функциями :func:`time.localtime` и :func:`os.stat`. " +"Другой пример — :data:`sys.float_info`::" + +msgid "" +">>> sys.float_info[1] # indexed access\n" +"1024\n" +">>> sys.float_info.max_exp # named field access\n" +"1024\n" +">>> isinstance(sys.float_info, tuple) # kind of tuple\n" +"True" +msgstr "" +">>> sys.float_info[1] # доступ по индексу\n" +"1024\n" +">>> sys.float_info.max_exp # доступ к именованному полю\n" +"1024\n" +">>> isinstance(sys.float_info, tuple) # вид кортежа\n" +"True" + +msgid "" +"Some named tuples are built-in types (such as the above examples). " +"Alternatively, a named tuple can be created from a regular class definition " +"that inherits from :class:`tuple` and that defines named fields. Such a " +"class can be written by hand, or it can be created by inheriting :class:" +"`typing.NamedTuple`, or with the factory function :func:`collections." +"namedtuple`. The latter techniques also add some extra methods that may not " +"be found in hand-written or built-in named tuples." +msgstr "" +"Некоторые именованные кортежи являются встроенными типами (как в приведённых " +"выше примерах). Кроме того, именованный кортеж можно создать из обычного " +"определения класса, который наследуется от :class:`tuple` и определяет " +"именованные поля. Такой класс можно написать вручную, создать с помощью " +"наследования от :class:`typing.NamedTuple` или с помощью фабричной функции :" +"func:`collections.namedtuple`. Последние два способа также добавляют " +"дополнительные методы, которых может не быть у написанных вручную или " +"встроенных именованных кортежей." + +msgid "namespace" +msgstr "пространство имён" + +msgid "" +"The place where a variable is stored. Namespaces are implemented as " +"dictionaries. There are the local, global and built-in namespaces as well " +"as nested namespaces in objects (in methods). Namespaces support modularity " +"by preventing naming conflicts. For instance, the functions :func:`builtins." +"open <.open>` and :func:`os.open` are distinguished by their namespaces. " +"Namespaces also aid readability and maintainability by making it clear which " +"module implements a function. For instance, writing :func:`random.seed` or :" +"func:`itertools.islice` makes it clear that those functions are implemented " +"by the :mod:`random` and :mod:`itertools` modules, respectively." +msgstr "" +"Место, где хранится переменная. Пространства имён реализованы в виде " +"словарей. Существуют локальное, глобальное и встроенное пространства имён, а " +"также вложенные пространства имён в объектах (в методах). Пространства имён " +"обеспечивают модульность, предотвращая конфликты имён. Например, функции :" +"func:`builtins.open <.open>` и :func:`os.open` различаются своими " +"пространствами имён. Пространства имён также повышают читаемость и удобство " +"сопровождения, показывая, какой модуль реализует функцию. Например, запись :" +"func:`random.seed` или :func:`itertools.islice` показывает, что эти функции " +"реализованы соответственно модулями :mod:`random` и :mod:`itertools`." + +msgid "namespace package" +msgstr "пакет пространства имён" + +msgid "" +"A :term:`package` which serves only as a container for subpackages. " +"Namespace packages may have no physical representation, and specifically are " +"not like a :term:`regular package` because they have no ``__init__.py`` file." +msgstr "" +":term:`Пакет`, который служит только контейнером для вложенных пакетов. " +"Пакеты пространства имён могут не иметь физического представления и, в " +"частности, отличаются от :term:`обычных пакетов` тем, что не имеют файла " +"``__init__.py``." + +msgid "" +"Namespace packages allow several individually installable packages to have a " +"common parent package. Otherwise, it is recommended to use a :term:`regular " +"package`." +msgstr "" +"Пакеты пространства имён позволяют нескольким отдельно устанавливаемым " +"пакетам иметь общий родительский пакет. В остальных случаях рекомендуется " +"использовать :term:`обычный пакет`." + +msgid "" +"For more information, see :pep:`420` and :ref:`reference-namespace-package`." +msgstr "" +"Для получения дополнительной информации см. :pep:`420` и :ref:`reference-" +"namespace-package`." + +msgid "See also :term:`module`." +msgstr "См. также :term:`модуль`." + +msgid "native code" +msgstr "машинный код" + +msgid "" +"Code that is compiled to machine instructions and runs directly on the " +"processor, as opposed to code that is interpreted or runs in a virtual " +"machine. In the context of Python, native code typically refers to C, C++, " +"Rust or Fortran code in :term:`extension modules ` that " +"can be called from Python. See also :term:`extension module`." +msgstr "" +"Код, скомпилированный в машинные инструкции и выполняющийся непосредственно " +"на процессоре, в отличие от кода, который интерпретируется или выполняется в " +"виртуальной машине. В контексте Python под машинным кодом обычно " +"подразумевается код на C, C++, Rust или Fortran в :term:`модулях расширения " +"`, который может вызываться из Python. См. также :term:" +"`модуль расширения`." + +msgid "nested scope" +msgstr "вложенная область видимости" + +msgid "" +"The ability to refer to a variable in an enclosing definition. For " +"instance, a function defined inside another function can refer to variables " +"in the outer function. Note that nested scopes by default work only for " +"reference and not for assignment. Local variables both read and write in " +"the innermost scope. Likewise, global variables read and write to the " +"global namespace. The :keyword:`nonlocal` allows writing to outer scopes." +msgstr "" +"Возможность ссылаться на переменную во внешнем определении. Например, " +"функция, определённая внутри другой функции, может обращаться к переменным " +"внешней функции. Обратите внимание, что вложенные области видимости по " +"умолчанию позволяют только обращаться к переменным на чтение, но не " +"выполнять присваивание в них. Локальные переменные при чтении и записи " +"используются в самой внутренней области видимости. Аналогично, глобальные " +"переменные при чтении и записи работают с глобальным пространством имён. " +"Инструкция :keyword:`nonlocal` позволяет выполнять запись во внешние области " +"видимости." + +msgid "new-style class" +msgstr "класс нового стиля" + +msgid "" +"Old name for the flavor of classes now used for all class objects. In " +"earlier Python versions, only new-style classes could use Python's newer, " +"versatile features like :attr:`~object.__slots__`, descriptors, properties, :" +"meth:`~object.__getattribute__`, class methods, and static methods." +msgstr "" +"Устаревшее название разновидности классов, которое теперь используется для " +"всех объектов-классов. В более ранних версиях Python только классы нового " +"стиля могли использовать новые универсальные возможности Python, такие как :" +"attr:`~object.__slots__`, дескрипторы, свойства, :meth:`~object." +"__getattribute__`, методы класса и статические методы." + +msgid "non-deterministic" +msgstr "недетерминированный" + +msgid "" +"Behavior where the outcome of a program can vary between executions with the " +"same inputs. In multi-threaded programs, non-deterministic behavior often " +"results from :term:`race conditions ` where the relative " +"timing or interleaving of threads affects the result. Proper synchronization " +"using :term:`locks ` and other :term:`synchronization primitives " +"` helps ensure deterministic behavior." +msgstr "" +"Поведение, при котором результат работы программы может различаться при " +"разных запусках с одинаковыми входными данными. В многопоточных программах " +"недетерминированное поведение часто возникает из-за :term:`состояний гонки " +"`, когда относительное время выполнения или чередование " +"потоков влияет на результат. Правильная синхронизация с использованием :term:" +"`блокировок ` и других :term:`примитивов синхронизации " +"` помогает обеспечить детерминированное поведение." + +msgid "object" +msgstr "объект" + +msgid "" +"Any data with state (attributes or value) and defined behavior (methods). " +"Also the ultimate base class of any :term:`new-style class`." +msgstr "" +"Любые данные с состоянием (атрибутами или значением) и определённым " +"поведением (методами). Также базовый класс верхнего уровня для любого :term:" +"`класса нового стиля`." + +msgid "optimized scope" +msgstr "оптимизированная область видимости" + +msgid "" +"A scope where target local variable names are reliably known to the compiler " +"when the code is compiled, allowing optimization of read and write access to " +"these names. The local namespaces for functions, generators, coroutines, " +"comprehensions, and generator expressions are optimized in this fashion. " +"Note: most interpreter optimizations are applied to all scopes, only those " +"relying on a known set of local and nonlocal variable names are restricted " +"to optimized scopes." +msgstr "" +"Область видимости, в которой имена целевых локальных переменных надёжно " +"известны компилятору во время компиляции кода, что позволяет оптимизировать " +"доступ к этим именам для чтения и записи. Таким образом оптимизируются " +"локальные пространства имён функций, генераторов, сопрограмм, включений и " +"генераторных выражений. Примечание: большинство оптимизаций интерпретатора " +"применяются ко всем областям видимости. Те оптимизации, для которых " +"требуется заранее известный набор имён локальных и нелокальных переменных, " +"могут применяться только в оптимизированных областях видимости." + +msgid "optional module" +msgstr "необязательный модуль" + +msgid "" +"An :term:`extension module` that is part of the :term:`standard library`, " +"but may be absent in some builds of :term:`CPython`, usually due to missing " +"third-party libraries or because the module is not available for a given " +"platform." +msgstr "" +":term:`Модуль расширения`, входящий в состав :term:`стандартной библиотеки`, " +"но отсутствующий в некоторых сборках :term:`CPython`, обычно из-за " +"отсутствия сторонних библиотек или потому, что модуль недоступен для " +"определённой платформы." + +msgid "" +"See :ref:`optional-module-requirements` for a list of optional modules that " +"require third-party libraries." +msgstr "" +"См. :ref:`optional-module-requirements` для получения списка необязательных " +"модулей, требующих сторонних библиотек." + +msgid "package" +msgstr "пакет" + +msgid "" +"A Python :term:`module` which can contain submodules or recursively, " +"subpackages. Technically, a package is a Python module with a ``__path__`` " +"attribute." +msgstr "" +":term:`Модуль` Python, который может содержать вложенные модули или, " +"рекурсивно, вложенные пакеты. Технически, пакет — это модуль Python с " +"атрибутом ``__path__``." + +msgid "See also :term:`regular package` and :term:`namespace package`." +msgstr "См. также :term:`обычный пакет` и :term:`пакет пространства имён`." + +msgid "parallelism" +msgstr "параллелизм" + +msgid "" +"Executing multiple operations at the same time (e.g. on multiple CPU " +"cores). In Python builds with the :term:`global interpreter lock (GIL) " +"`, only one thread runs Python bytecode at a time, " +"so taking advantage of multiple CPU cores typically involves multiple " +"processes (e.g. :mod:`multiprocessing`) or native extensions that release " +"the GIL. In :term:`free-threaded ` Python, multiple Python " +"threads can run Python code simultaneously on different cores." +msgstr "" +"Одновременное выполнение нескольких операций (например, на нескольких ядрах " +"процессора). В сборках Python с :term:`глобальной блокировкой интерпретатора " +"(GIL) ` только один поток одновременно выполняет " +"байт-код Python, поэтому использование нескольких ядер процессора обычно " +"требует нескольких процессов (например, :mod:`multiprocessing`) или нативных " +"расширений, освобождающих GIL. В сборках Python со :term:`свободной " +"многопоточностью ` несколько потоков Python могут " +"одновременно выполнять код Python на разных ядрах." + +msgid "parameter" +msgstr "параметр" + +msgid "" +"A named entity in a :term:`function` (or method) definition that specifies " +"an :term:`argument` (or in some cases, arguments) that the function can " +"accept. There are five kinds of parameter:" +msgstr "" +"Именованная сущность в определении :term:`функции` (или метода), задающая :" +"term:`аргумент` (или в некоторых случаях аргументы), который функция может " +"принимать. Существует пять видов параметров:" + +msgid "" +":dfn:`positional-or-keyword`: specifies an argument that can be passed " +"either :term:`positionally ` or as a :term:`keyword argument " +"`. This is the default kind of parameter, for example *foo* and " +"*bar* in the following::" +msgstr "" +":dfn:`позиционный или именованный`: задаёт аргумент, который можно передать " +"как :term:`позиционный ` или как :term:`именованный аргумент " +"`. Это вид параметра по умолчанию, например *foo* и *bar* в " +"следующем примере::" + +msgid "def func(foo, bar=None): ..." +msgstr "def func(foo, bar=None): ..." + +msgid "" +":dfn:`positional-only`: specifies an argument that can be supplied only by " +"position. Positional-only parameters can be defined by including a ``/`` " +"character in the parameter list of the function definition after them, for " +"example *posonly1* and *posonly2* in the following::" +msgstr "" +":dfn:`только позиционный`: задаёт аргумент, который можно передать только по " +"позиции. Параметры, доступные только по позиции, можно определить, добавив " +"символ ``/`` в список параметров определения функции после них, например " +"*posonly1* и *posonly2* в следующем примере::" + +msgid "def func(posonly1, posonly2, /, positional_or_keyword): ..." +msgstr "def func(posonly1, posonly2, /, positional_or_keyword): ..." + +msgid "" +":dfn:`keyword-only`: specifies an argument that can be supplied only by " +"keyword. Keyword-only parameters can be defined by including a single var-" +"positional parameter or bare ``*`` in the parameter list of the function " +"definition before them, for example *kw_only1* and *kw_only2* in the " +"following::" +msgstr "" +":dfn:`только именованный`: задаёт аргумент, который можно передать только по " +"имени. Параметры, доступные только по имени, можно определить, добавив один " +"параметр с переменным числом позиционных аргументов или отдельный символ " +"``*`` в список параметров определения функции перед ними, например " +"*kw_only1* и *kw_only2* в следующем примере::" + +msgid "def func(arg, *, kw_only1, kw_only2): ..." +msgstr "def func(arg, *, kw_only1, kw_only2): ..." + +msgid "" +":dfn:`var-positional`: specifies that an arbitrary sequence of positional " +"arguments can be provided (in addition to any positional arguments already " +"accepted by other parameters). Such a parameter can be defined by " +"prepending the parameter name with ``*``, for example *args* in the " +"following::" +msgstr "" +":dfn:`переменное число позиционных`: задаёт, что может быть передана " +"произвольная последовательность позиционных аргументов (в дополнение к любым " +"позиционным аргументам, уже принимаемым другими параметрами). Такой параметр " +"можно определить, добавив перед его именем символ ``*``, например *args* в " +"следующем примере::" + +msgid "def func(*args, **kwargs): ..." +msgstr "def func(*args, **kwargs): ..." + +msgid "" +":dfn:`var-keyword`: specifies that arbitrarily many keyword arguments can be " +"provided (in addition to any keyword arguments already accepted by other " +"parameters). Such a parameter can be defined by prepending the parameter " +"name with ``**``, for example *kwargs* in the example above." +msgstr "" +":dfn:`переменное число именованных`: задаёт, что может быть передано " +"произвольное количество именованных аргументов (в дополнение к любым " +"именованным аргументам, уже принимаемым другими параметрами). Такой параметр " +"можно определить, добавив перед его именем символ ``**``, например *kwargs* " +"в приведённом выше примере." + +msgid "" +"Parameters can specify both optional and required arguments, as well as " +"default values for some optional arguments." +msgstr "" +"Параметры могут задавать как необязательные, так и обязательные аргументы, а " +"также значения по умолчанию для некоторых необязательных аргументов." + +msgid "" +"See also the :term:`argument` glossary entry, the FAQ question on :ref:`the " +"difference between arguments and parameters `, " +"the :class:`inspect.Parameter` class, the :ref:`function` section, and :pep:" +"`362`." +msgstr "" +"См. также запись глоссария :term:`аргумент`, вопрос ЧаВо о :ref:`разнице " +"между аргументами и параметрами `, класс :class:" +"`inspect.Parameter`, раздел :ref:`function` и :pep:`362`." + +msgid "per-object lock" +msgstr "блокировка объекта" + +msgid "" +"A :term:`lock` associated with an individual object instance rather than a " +"global lock shared across all objects. In :term:`free-threaded ` Python, built-in types like :class:`dict` and :class:`list` use " +"per-object locks to allow concurrent operations on different objects while " +"serializing operations on the same object. Operations that hold the per-" +"object lock prevent other locking operations on the same object from " +"proceeding, but do not block :term:`lock-free` operations." +msgstr "" +":term:`Блокировка`, связанная с отдельным экземпляром объекта, а не с " +"глобальной блокировкой, общей для всех объектов. В Python со :term:" +"`свободной многопоточностью ` встроенные типы, такие как :" +"class:`dict` и :class:`list`, используют блокировки объектов, чтобы " +"разрешить конкурентные операции над разными объектами, одновременно " +"сериализуя операции над одним и тем же объектом. Операции, удерживающие " +"блокировку объекта, не позволяют выполняться другим операциям с блокировкой " +"над тем же объектом, но не блокируют :term:`операции без блокировок." + +msgid "path entry" +msgstr "элемент пути" + +msgid "" +"A single location on the :term:`import path` which the :term:`path based " +"finder` consults to find modules for importing." +msgstr "" +"Одно расположение в :term:`пути импорта`, которое :term:`поисковик на основе " +"пути` использует для поиска модулей для импорта." + +msgid "path entry finder" +msgstr "поисковик элемента пути" + +msgid "" +"A :term:`finder` returned by a callable on :data:`sys.path_hooks` (i.e. a :" +"term:`path entry hook`) which knows how to locate modules given a :term:" +"`path entry`." +msgstr "" +":term:`Поисковик`, возвращаемый вызываемым объектом из :data:`sys." +"path_hooks` (то есть :term:`обработчиком элемента пути`), который умеет " +"находить модули для заданного :term:`элемента пути`." + +msgid "" +"See :class:`importlib.abc.PathEntryFinder` for the methods that path entry " +"finders implement." +msgstr "" +"См. :class:`importlib.abc.PathEntryFinder` для методов, реализуемых " +"поисковиками элементов пути." + +msgid "path entry hook" +msgstr "обработчик элемента пути" + +msgid "" +"A callable on the :data:`sys.path_hooks` list which returns a :term:`path " +"entry finder` if it knows how to find modules on a specific :term:`path " +"entry`." +msgstr "" +"Вызываемый объект из списка :data:`sys.path_hooks`, который возвращает :term:" +"`поисковик элемента пути`, если умеет находить модули в определённом :term:" +"`элементе пути`." + +msgid "path based finder" +msgstr "поисковик на основе пути" + +msgid "" +"One of the default :term:`meta path finders ` which " +"searches an :term:`import path` for modules." +msgstr "" +"Один из стандартных :term:`поисковиков мета-пути `, " +"который выполняет поиск модулей в :term:`пути импорта`." + +msgid "path-like object" +msgstr "объект, подобный пути" + +msgid "" +"An object representing a file system path. A path-like object is either a :" +"class:`str` or :class:`bytes` object representing a path, or an object " +"implementing the :class:`os.PathLike` protocol. An object that supports the :" +"class:`os.PathLike` protocol can be converted to a :class:`str` or :class:" +"`bytes` file system path by calling the :func:`os.fspath` function; :func:" +"`os.fsdecode` and :func:`os.fsencode` can be used to guarantee a :class:" +"`str` or :class:`bytes` result instead, respectively. Introduced by :pep:" +"`519`." +msgstr "" +"Объект, представляющий путь в файловой системе. Объект, подобный пути, " +"является либо объектом :class:`str` или :class:`bytes`, представляющим путь, " +"либо объектом, реализующим протокол :class:`os.PathLike`. Объект, " +"поддерживающий протокол :class:`os.PathLike`, можно преобразовать в путь " +"файловой системы в виде объекта :class:`str` или :class:`bytes`, вызвав " +"функцию :func:`os.fspath`. Чтобы гарантировать результат типа :class:`str` " +"или :class:`bytes`, можно использовать соответственно функции :func:`os." +"fsdecode` и :func:`os.fsencode`. Представлено в :pep:`519`." + +msgid "PEP" +msgstr "PEP" + +msgid "" +"Python Enhancement Proposal. A PEP is a design document providing " +"information to the Python community, or describing a new feature for Python " +"or its processes or environment. PEPs should provide a concise technical " +"specification and a rationale for proposed features." +msgstr "" +"«Предложение по улучшению Python» («Python Enhancement Proposal»). PEP — это " +"проектный документ, предоставляющий информацию сообществу Python или " +"описывающий новую возможность Python, его процессы или окружение. PEP должны " +"содержать краткую техническую спецификацию и обоснование предлагаемых " +"возможностей." + +msgid "" +"PEPs are intended to be the primary mechanisms for proposing major new " +"features, for collecting community input on an issue, and for documenting " +"the design decisions that have gone into Python. The PEP author is " +"responsible for building consensus within the community and documenting " +"dissenting opinions." +msgstr "" +"PEP предназначены быть основным механизмом предложения крупных новых " +"возможностей, сбора отзывов сообщества по вопросам и документирования " +"проектных решений, принятых при разработке Python. Автор PEP отвечает за " +"достижение согласия в сообществе и документирование несогласных мнений." + +msgid "See :pep:`1`." +msgstr "Смотри :pep:`1`." + +msgid "portion" +msgstr "часть" + +msgid "" +"A set of files in a single directory (possibly stored in a zip file) that " +"contribute to a namespace package, as defined in :pep:`420`." +msgstr "" +"Набор файлов в одном каталоге (возможно, хранящихся в zip-файле), которые " +"составляют пакет пространства имён, как определено в :pep:`420`." + +msgid "positional argument" +msgstr "позиционный аргумент" + +msgid "provisional API" +msgstr "предварительный API" + +msgid "" +"A provisional API is one which has been deliberately excluded from the " +"standard library's backwards compatibility guarantees. While major changes " +"to such interfaces are not expected, as long as they are marked provisional, " +"backwards incompatible changes (up to and including removal of the " +"interface) may occur if deemed necessary by core developers. Such changes " +"will not be made gratuitously -- they will occur only if serious fundamental " +"flaws are uncovered that were missed prior to the inclusion of the API." +msgstr "" +"Предварительный API — это API, который был намеренно исключён из гарантий " +"обратной совместимости стандартной библиотеки. Хотя серьёзные изменения " +"таких интерфейсов не ожидаются, пока они имеют статус предварительных, " +"обратно несовместимые изменения (вплоть до удаления интерфейса) могут быть " +"внесены, если основные разработчики сочтут их необходимыми. Такие изменения " +"не будут вноситься без веской причины — они произойдут только в случае " +"обнаружения серьёзных фундаментальных недостатков, которые не были замечены " +"до включения API." + +msgid "" +"Even for provisional APIs, backwards incompatible changes are seen as a " +"\"solution of last resort\" - every attempt will still be made to find a " +"backwards compatible resolution to any identified problems." +msgstr "" +"Даже для предварительных API изменения, несовместимые с предыдущими " +"версиями, рассматриваются как «крайнее средство» — всё равно будут " +"предприняты все попытки найти обратно совместимое решение для любых " +"выявленных проблем." + +msgid "" +"This process allows the standard library to continue to evolve over time, " +"without locking in problematic design errors for extended periods of time. " +"See :pep:`411` for more details." +msgstr "" +"Этот процесс позволяет стандартной библиотеке продолжать развиваться с " +"течением времени, не закрепляя проблемные ошибки проектирования на " +"длительные периоды. См. подробности в :pep:`411`." + +msgid "provisional package" +msgstr "предварительный пакет" + +msgid "See :term:`provisional API`." +msgstr "Смотри :term:`предварительный API`." + +msgid "Python 3000" +msgstr "Python 3000" + +msgid "" +"Nickname for the Python 3.x release line (coined long ago when the release " +"of version 3 was something in the distant future.) This is also abbreviated " +"\"Py3k\"." +msgstr "" +"Прозвище линейки выпусков Python 3.x (возникшее задолго до выхода версии 3, " +"когда её выпуск был ещё далёкой перспективой). Также сокращается как «Py3k». " + +msgid "Pythonic" +msgstr "идиоматичный для Python" + +msgid "" +"An idea or piece of code which closely follows the most common idioms of the " +"Python language, rather than implementing code using concepts common to " +"other languages. For example, a common idiom in Python is to loop over all " +"elements of an iterable using a :keyword:`for` statement. Many other " +"languages don't have this type of construct, so people unfamiliar with " +"Python sometimes use a numerical counter instead::" +msgstr "" +"Идея или фрагмент кода, которые точно соответствуют наиболее " +"распространённым идиомам языка Python, а не реализуют код с использованием " +"концепций, принятых в других языках. Например, распространённая идиома " +"Python — перебор всех элементов итерируемого объекта с помощью инструкции :" +"keyword:`for`. Во многих других языках такой конструкции нет, поэтому люди, " +"незнакомые с Python, иногда вместо этого используют числовой счётчик::" + +msgid "" +"for i in range(len(food)):\n" +" print(food[i])" +msgstr "" +"for i in range(len(food)):\n" +" print(food[i])" + +msgid "As opposed to the cleaner, Pythonic method::" +msgstr "В отличие от более чистого и идиоматичного для Python способа::" + +msgid "" +"for piece in food:\n" +" print(piece)" +msgstr "" +"for piece in food:\n" +" print(piece)" + +msgid "qualified name" +msgstr "квалифицированное имя" + +msgid "" +"A dotted name showing the \"path\" from a module's global scope to a class, " +"function or method defined in that module, as defined in :pep:`3155`. For " +"top-level functions and classes, the qualified name is the same as the " +"object's name::" +msgstr "" +"Имя с точками, показывающее «путь» от глобальной области видимости модуля к " +"классу, функции или методу, определённым в этом модуле, как описано в :pep:" +"`3155`. Для функций и классов верхнего уровня квалифицированное имя " +"совпадает с именем объекта::" + +msgid "" +">>> class C:\n" +"... class D:\n" +"... def meth(self):\n" +"... pass\n" +"...\n" +">>> C.__qualname__\n" +"'C'\n" +">>> C.D.__qualname__\n" +"'C.D'\n" +">>> C.D.meth.__qualname__\n" +"'C.D.meth'" +msgstr "" +">>> class C:\n" +"... class D:\n" +"... def meth(self):\n" +"... pass\n" +"...\n" +">>> C.__qualname__\n" +"'C'\n" +">>> C.D.__qualname__\n" +"'C.D'\n" +">>> C.D.meth.__qualname__\n" +"'C.D.meth'" + +msgid "" +"When used to refer to modules, the *fully qualified name* means the entire " +"dotted path to the module, including any parent packages, e.g. ``email.mime." +"text``::" +msgstr "" +"При использовании применительно к модулям *полное квалифицированное имя* " +"означает полный путь с точками к модулю, включая все родительские пакеты, " +"например ``email.mime.text``::" + +msgid "" +">>> import email.mime.text\n" +">>> email.mime.text.__name__\n" +"'email.mime.text'" +msgstr "" +">>> import email.mime.text\n" +">>> email.mime.text.__name__\n" +"'email.mime.text'" + +msgid "race condition" +msgstr "состояние гонки" + +msgid "" +"A condition of a program where the behavior depends on the relative timing " +"or ordering of events, particularly in multi-threaded programs. Race " +"conditions can lead to :term:`non-deterministic` behavior and bugs that are " +"difficult to reproduce. A :term:`data race` is a specific type of race " +"condition involving unsynchronized access to shared memory. The :term:" +"`LBYL` coding style is particularly susceptible to race conditions in multi-" +"threaded code. Using :term:`locks ` and other :term:`synchronization " +"primitives ` helps prevent race conditions." +msgstr "" +"Состояние программы, при котором её поведение зависит от относительного " +"времени или порядка событий, особенно в многопоточных программах. Состояния " +"гонки могут приводить к :term:`недетерминированному` поведению и ошибкам, " +"которые трудно воспроизвести. :term:`Гонка данных` — это конкретный вид " +"состояния гонки, связанный с несинхронизированным доступом к общей памяти. " +"Стиль программирования :term:`LBYL` особенно подвержен состояниям гонки в " +"многопоточном коде. Использование :term:`блокировок ` и других :term:" +"`примитивов синхронизации ` помогает " +"предотвращать состояния гонки." + +msgid "reference count" +msgstr "счётчик ссылок" + +msgid "" +"The number of references to an object. When the reference count of an " +"object drops to zero, it is deallocated. Some objects are :term:`immortal` " +"and have reference counts that are never modified, and therefore the objects " +"are never deallocated. Reference counting is generally not visible to " +"Python code, but it is a key element of the :term:`CPython` implementation. " +"Programmers can call the :func:`sys.getrefcount` function to return the " +"reference count for a particular object." +msgstr "" +"Количество ссылок на объект. Когда счётчик ссылок объекта падает до нуля, " +"объект освобождается. Некоторые объекты являются :term:`бессмертными` и " +"имеют счётчики ссылок, которые никогда не изменяются, поэтому такие объекты " +"никогда не освобождаются. Подсчёт ссылок обычно не виден в коде Python, но " +"является ключевым элементом реализации :term:`CPython`. Программисты могут " +"вызвать функцию :func:`sys.getrefcount`, чтобы получить счётчик ссылок для " +"конкретного объекта." + +msgid "" +"In :term:`CPython`, reference counts are not considered to be stable or well-" +"defined values; the number of references to an object, and how that number " +"is affected by Python code, may be different between versions." +msgstr "" +"В :term:`CPython` счётчики ссылок не считаются стабильными или строго " +"определёнными значениями. Количество ссылок на объект и то, как это " +"количество изменяется под воздействием кода Python, может отличаться между " +"версиями." + +msgid "regular package" +msgstr "обычный пакет" + +msgid "" +"A traditional :term:`package`, such as a directory containing an ``__init__." +"py`` file." +msgstr "" +"Традиционный :term:`пакет`, например каталог, содержащий файл ``__init__." +"py``." + +msgid "See also :term:`namespace package`." +msgstr "См. также :term:`пакет пространства имён`." + +msgid "reentrant" +msgstr "реентерабельность" + +msgid "" +"A property of a function or :term:`lock` that allows it to be called or " +"acquired multiple times by the same thread without causing errors or a :term:" +"`deadlock`." +msgstr "" +"Свойство функции или :term:`блокировки`, позволяющее одному и тому же потоку " +"многократно вызывать функцию или захватывать блокировку без возникновения " +"ошибок или :term:`взаимной блокировки`." + +msgid "" +"For functions, reentrancy means the function can be safely called again " +"before a previous invocation has completed, which is important when " +"functions may be called recursively or from signal handlers. Thread-unsafe " +"functions may be :term:`non-deterministic` if they're called reentrantly in " +"a multithreaded program." +msgstr "" +"Для функций это означает, что её можно безопасно вызвать снова до завершения " +"предыдущего вызова. Это важно, когда функции могут вызывать себя рекурсивно " +"или когда они вызываются из обработчиков сигналов. Потоконебезопасные " +"функции могут вести себя :term:`недетерминированно`, если в многопоточной " +"программе их вызывают реентерабельно." + +msgid "" +"For locks, Python's :class:`threading.RLock` (reentrant lock) is reentrant, " +"meaning a thread that already holds the lock can acquire it again without " +"blocking. In contrast, :class:`threading.Lock` is not reentrant - " +"attempting to acquire it twice from the same thread will cause a deadlock." +msgstr "" +"Для блокировок в Python :class:`threading.RLock` (реентерабельная " +"блокировка) является реентерабельной — поток, уже владеющий блокировкой, " +"может снова захватить её без блокировки. В отличие от неё, :class:`threading." +"Lock` не является реентерабельной — попытка дважды захватить её из одного и " +"того же потока приведёт к взаимной блокировке." + +msgid "See also :term:`lock` and :term:`deadlock`." +msgstr "См. также :term:`блокировка` и :term:`взаимная блокировка`." + +msgid "REPL" +msgstr "REPL" + +msgid "" +"An acronym for the \"read–eval–print loop\", another name for the :term:" +"`interactive` interpreter shell." +msgstr "" +"Аббревиатура от «цикл чтения–вычисления–вывода» («read–eval–print loop»), " +"другое название :term:`интерактивной` оболочки интерпретатора." + +msgid "__slots__" +msgstr "__slots__" + +msgid "" +"A declaration inside a class that saves memory by pre-declaring space for " +"instance attributes and eliminating instance dictionaries. Though popular, " +"the technique is somewhat tricky to get right and is best reserved for rare " +"cases where there are large numbers of instances in a memory-critical " +"application." +msgstr "" +"Объявление внутри класса, которое экономит память за счёт предварительного " +"выделения места для атрибутов экземпляра и устранения словарей экземпляров. " +"Несмотря на популярность, эта техника несколько сложна в правильном " +"применении и лучше всего подходит для редких случаев, когда в приложении с " +"критическими требованиями к памяти существует большое количество экземпляров." + +msgid "sequence" +msgstr "последовательность" + +msgid "" +"An :term:`iterable` which supports efficient element access using integer " +"indices via the :meth:`~object.__getitem__` special method and defines a :" +"meth:`~object.__len__` method that returns the length of the sequence. Some " +"built-in sequence types are :class:`list`, :class:`str`, :class:`tuple`, " +"and :class:`bytes`. Note that :class:`dict` also supports :meth:`~object." +"__getitem__` and :meth:`!__len__`, but is considered a mapping rather than a " +"sequence because the lookups use arbitrary :term:`hashable` keys rather than " +"integers." +msgstr "" +":term:`Итерируемый` объект, который поддерживает эффективный доступ к " +"элементам с использованием целочисленных индексов через специальный метод :" +"meth:`~object.__getitem__` и определяет метод :meth:`~object.__len__`, " +"возвращающий длину последовательности. Некоторые встроенные типы " +"последовательностей: :class:`list`, :class:`str`, :class:`tuple` и :class:" +"`bytes`. Обратите внимание, что :class:`dict` также поддерживает :meth:" +"`~object.__getitem__` и :meth:`!__len__`, но считается отображением, а не " +"последовательностью, поскольку поиск выполняется с использованием " +"произвольных :term:`хешируемых` ключей, а не целых чисел." + +msgid "" +"The :class:`collections.abc.Sequence` abstract base class defines a much " +"richer interface that goes beyond just :meth:`~object.__getitem__` and :meth:" +"`~object.__len__`, adding :meth:`~sequence.count`, :meth:`~sequence.index`, :" +"meth:`~object.__contains__`, and :meth:`~object.__reversed__`. Types that " +"implement this expanded interface can be registered explicitly using :func:" +"`~abc.ABCMeta.register`. For more documentation on sequence methods " +"generally, see :ref:`Common Sequence Operations `." +msgstr "" +"Абстрактный базовый класс :class:`collections.abc.Sequence` определяет " +"гораздо более богатый интерфейс, выходящий за пределы только :meth:`~object." +"__getitem__` и :meth:`~object.__len__`, добавляя методы :meth:`~sequence." +"count`, :meth:`~sequence.index`, :meth:`~object.__contains__` и :meth:" +"`~object.__reversed__`. Типы, реализующие этот расширенный интерфейс, могут " +"быть явно зарегистрированы с помощью :func:`~abc.ABCMeta.register`. " +"Дополнительную документацию по методам последовательностей в целом см. в " +"разделе :ref:`Общие операции с последовательностями `." + +msgid "set comprehension" +msgstr "включение множества" + +msgid "" +"A compact way to process all or part of the elements in an iterable and " +"return a set with the results. ``results = {c for c in 'abracadabra' if c " +"not in 'abc'}`` generates the set of strings ``{'r', 'd'}``. See :ref:" +"`comprehensions`." +msgstr "" +"Компактный способ обработать все или часть элементов итерируемого объекта и " +"вернуть множество с результатами. ``results = {c for c in 'abracadabra' if c " +"not in 'abc'}`` создаёт множество строк ``{'r', 'd'}``. См. :ref:" +"`comprehensions`." + +msgid "single dispatch" +msgstr "одиночная диспетчеризация" + +msgid "" +"A form of :term:`generic function` dispatch where the implementation is " +"chosen based on the type of a single argument." +msgstr "" +"Форма диспетчеризации :term:`обобщённой функции`, при которой выбор " +"реализации выполняется на основе типа одного аргумента." + +msgid "slice" +msgstr "срез" + +msgid "" +"An object of type :class:`slice`, used to describe a portion of a :term:" +"`sequence`. A slice object is created when using the :ref:`slicing " +"` form of :ref:`subscript notation `, with colons " +"inside square brackets, such as in ``variable_name[1:3:5]``." +msgstr "" +"Объект типа :class:`slice`, используемый для описания части :term:" +"`последовательности`. Для создания объекта среза используется специальный " +"синтаксис :ref:`срезов ` при :ref:`обращении к элементам " +"` с помощью двоеточий в квадратных скобках, например " +"``variable_name[1:3:5]``." + +msgid "soft deprecated" +msgstr "слегка устаревший" + +msgid "" +"A soft deprecated API should not be used in new code, but it is safe for " +"already existing code to use it. The API remains documented and tested, but " +"will not be enhanced further." +msgstr "" +"API, объявленный слегка устаревшим, не следует использовать в новом коде, но " +"его безопасно использовать в уже существующем коде. Такой API по-прежнему " +"документируется и тестируется, но больше не будет развиваться." + +msgid "" +"Soft deprecation, unlike normal deprecation, does not plan on removing the " +"API and will not emit warnings." +msgstr "" +"Лёгкое устаревание, в отличие от обычного устаревания, не предусматривает " +"удаления API и не приводит к выдаче предупреждений." + +msgid "" +"See `PEP 387: Soft Deprecation `_." +msgstr "" +"См. `PEP 387: Лёгкое устаревание `_." + +msgid "special method" +msgstr "специальный метод" + +msgid "" +"A method that is called implicitly by Python to execute a certain operation " +"on a type, such as addition. Such methods have names starting and ending " +"with double underscores. Special methods are documented in :ref:" +"`specialnames`." +msgstr "" +"Метод, который неявно вызывается Python для выполнения определённой операции " +"над типом, например сложения. Такие методы имеют имена, начинающиеся и " +"заканчивающиеся двойным подчёркиванием. Специальные методы описаны в :ref:" +"`specialnames`." + +msgid "standard library" +msgstr "стандартная библиотека" + +msgid "" +"The collection of :term:`packages `, :term:`modules ` and :" +"term:`extension modules ` distributed as a part of the " +"official Python interpreter package. The exact membership of the collection " +"may vary based on platform, available system libraries, or other criteria. " +"Documentation can be found at :ref:`library-index`." +msgstr "" +"Набор :term:`пакетов `, :term:`модулей ` и :term:" +"`расширений модулей `, распространяемых как часть " +"официального пакета интерпретатора Python. Точный состав этого набора может " +"различаться в зависимости от платформы, доступных системных библиотек или " +"других критериев. Документация находится в разделе :ref:`library-index`." + +msgid "" +"See also :data:`sys.stdlib_module_names` for a list of all possible standard " +"library module names." +msgstr "" +"См. также :data:`sys.stdlib_module_names` для получения списка всех " +"возможных имён модулей стандартной библиотеки." + +msgid "statement" +msgstr "инструкция" + +msgid "" +"A statement is part of a suite (a \"block\" of code). A statement is either " +"an :term:`expression` or one of several constructs with a keyword, such as :" +"keyword:`if`, :keyword:`while` or :keyword:`for`." +msgstr "" +"Инструкция является частью набора инструкций («блока» кода). Инструкция " +"представляет собой либо :term:`выражение`, либо одну из конструкций с " +"ключевым словом, таких как :keyword:`if`, :keyword:`while` или :keyword:" +"`for`." + +msgid "static type checker" +msgstr "статический анализатор типов" + +msgid "" +"An external tool that reads Python code and analyzes it, looking for issues " +"such as incorrect types. See also :term:`type hints ` and the :" +"mod:`typing` module." +msgstr "" +"Внешний инструмент, который читает код Python и анализирует его, выявляя " +"такие проблемы, как некорректные типы. См. также :term:`подсказки типов " +"` и модуль :mod:`typing`." + +msgid "stdlib" +msgstr "stdlib" + +msgid "An abbreviation of :term:`standard library`." +msgstr "Сокращение от :term:`стандартная библиотека`." + +msgid "steal" +msgstr "захват" + +msgid "" +"In Python's C API, \"*stealing*\" an argument means that ownership of the " +"argument is transferred to the called function. The caller must not use that " +"reference after the call. Generally, functions that \"steal\" an argument do " +"so even if they fail." +msgstr "" +"В C API Python «*захват*» аргумента означает, что владение аргументом " +"передаётся вызываемой функции. После вызова вызывающая сторона не должна " +"использовать эту ссылку. Как правило, функции, которые «захватывают» " +"аргумент, делают это даже в случае ошибки." + +msgid "See :ref:`api-refcountdetails` for a full explanation." +msgstr "Полное объяснение см. в разделе :ref:`api-refcountdetails`." + +msgid "strong reference" +msgstr "сильная ссылка" + +msgid "" +"In Python's C API, a strong reference is a reference to an object which is " +"owned by the code holding the reference. The strong reference is taken by " +"calling :c:func:`Py_INCREF` when the reference is created and released with :" +"c:func:`Py_DECREF` when the reference is deleted." +msgstr "" +"В C API Python сильная ссылка — это ссылка на объект, которой владеет код, " +"содержащий эту ссылку. Сильная ссылка приобретается вызовом функции :c:func:" +"`Py_INCREF` при создании ссылки и освобождается вызовом функции :c:func:" +"`Py_DECREF` при удалении ссылки." + +msgid "" +"The :c:func:`Py_NewRef` function can be used to create a strong reference to " +"an object. Usually, the :c:func:`Py_DECREF` function must be called on the " +"strong reference before exiting the scope of the strong reference, to avoid " +"leaking one reference." +msgstr "" +"Функцию :c:func:`Py_NewRef` можно использовать для создания сильной ссылки " +"на объект. Обычно перед выходом из области действия сильной ссылки " +"необходимо вызвать функцию :c:func:`Py_DECREF` для этой ссылки, чтобы " +"избежать утечки одной ссылки." + +msgid "See also :term:`borrowed reference`." +msgstr "См. также :term:`заимствованная ссылка`." + +msgid "subscript" +msgstr "индексатор" + +msgid "" +"The expression in square brackets of a :ref:`subscription expression " +"`, for example, the ``3`` in ``items[3]``. Usually used to " +"select an element of a container. Also called a :term:`key` when " +"subscripting a :term:`mapping`, or an :term:`index` when subscripting a :" +"term:`sequence`." +msgstr "" +"Выражение в квадратных скобках при :ref:`обращении к элементу " +"`, например ``3`` в ``items[3]``. Обычно используется для " +"выбора элемента контейнера. При обращении к :term:`отображению` индексатор " +"также называется :term:`ключом`, а при обращении к :term:" +"`последовательности` — :term:`индексом`." + +msgid "synchronization primitive" +msgstr "примитив синхронизации" + +msgid "" +"A basic building block for coordinating (synchronizing) the execution of " +"multiple threads to ensure :term:`thread-safe` access to shared resources. " +"Python's :mod:`threading` module provides several synchronization primitives " +"including :class:`~threading.Lock`, :class:`~threading.RLock`, :class:" +"`~threading.Semaphore`, :class:`~threading.Condition`, :class:`~threading." +"Event`, and :class:`~threading.Barrier`. Additionally, the :mod:`queue` " +"module provides multi-producer, multi-consumer queues that are especially " +"useful in multithreaded programs. These primitives help prevent :term:`race " +"conditions ` and coordinate thread execution. See also :" +"term:`lock`." +msgstr "" +"Базовый строительный блок для координации (синхронизации) выполнения " +"нескольких потоков с целью обеспечения :term:`потокобезопасного` доступа к " +"общим ресурсам. Модуль :mod:`threading` Python предоставляет несколько " +"примитивов синхронизации, включая :class:`~threading.Lock`, :class:" +"`~threading.RLock`, :class:`~threading.Semaphore`, :class:`~threading." +"Condition`, :class:`~threading.Event` и :class:`~threading.Barrier`. Кроме " +"того, модуль :mod:`queue` предоставляет очереди с несколькими " +"производителями и несколькими потребителями, которые особенно полезны в " +"многопоточных программах. Эти примитивы помогают предотвращать :term:" +"`состояния гонки ` и координировать выполнение потоков. См. " +"также :term:`блокировка`." + +msgid "t-string" +msgstr "t-строка" + +msgid "t-strings" +msgstr "t-строки" + +msgid "" +"String literals prefixed with ``t`` or ``T`` are commonly called \"t-" +"strings\" which is short for :ref:`template string literals `." +msgstr "" +"Строковые литералы с префиксом ``t`` или ``T`` обычно называются «t-" +"строками», что является сокращением от :ref:`шаблонных строковых литералов " +"`." + +msgid "text encoding" +msgstr "кодировка текста" + +msgid "" +"A string in Python is a sequence of Unicode code points (in range " +"``U+0000``--``U+10FFFF``). To store or transfer a string, it needs to be " +"serialized as a sequence of bytes." +msgstr "" +"Строка в Python представляет собой последовательность кодовых точек Unicode " +"(в диапазоне ``U+0000``--``U+10FFFF``). Чтобы сохранить или передать строку, " +"её необходимо сериализовать в виде последовательности байтов." + +msgid "" +"Serializing a string into a sequence of bytes is known as \"encoding\", and " +"recreating the string from the sequence of bytes is known as \"decoding\"." +msgstr "" +"Сериализация строки в последовательность байтов называется «кодированием», а " +"воссоздание строки из последовательности байтов называется «декодированием»." + +msgid "" +"There are a variety of different text serialization :ref:`codecs `, which are collectively referred to as \"text encodings\"." +msgstr "" +"Существует множество различных :ref:`кодеков ` " +"сериализации текста, которые в совокупности называются «кодировками текста»." + +msgid "text file" +msgstr "текстовый файл" + +msgid "" +"A :term:`file object` able to read and write :class:`str` objects. Often, a " +"text file actually accesses a byte-oriented datastream and handles the :term:" +"`text encoding` automatically. Examples of text files are files opened in " +"text mode (``'r'`` or ``'w'``), :data:`sys.stdin`, :data:`sys.stdout`, and " +"instances of :class:`io.StringIO`." +msgstr "" +":term:`Файловый объект`, способный читать и записывать объекты :class:`str`. " +"Часто текстовый файл фактически обращается к байтовому потоку данных и " +"автоматически обрабатывает :term:`кодировку текста`. Примерами текстовых " +"файлов являются файлы, открытые в текстовом режиме (``'r'`` или ``'w'``), :" +"data:`sys.stdin`, :data:`sys.stdout` и экземпляры :class:`io.StringIO`." + +msgid "" +"See also :term:`binary file` for a file object able to read and write :term:" +"`bytes-like objects `." +msgstr "" +"См. также :term:`двоичный файл` — файловый объект, способный читать и " +"записывать :term:`объекты, подобные bytes `." + +msgid "thread state" +msgstr "состояние потока" + +msgid "" +"The information used by the :term:`CPython` runtime to run in an OS thread. " +"For example, this includes the current exception, if any, and the state of " +"the bytecode interpreter." +msgstr "" +"Информация, используемая средой выполнения :term:`CPython` для работы в " +"потоке ОС. Например, сюда входит текущее исключение, если таковое имеется, и " +"состояние интерпретатора байт-кода." + +msgid "" +"Each thread state is bound to a single OS thread, but threads may have many " +"thread states available. At most, one of them may be :term:`attached " +"` at once." +msgstr "" +"Каждое состояние потока привязано к одному потоку ОС, но у потоков может " +"быть доступно несколько состояний потока. В каждый момент времени к потоку " +"может быть :term:`присоединено ` не более одного из " +"них." + +msgid "" +"An :term:`attached thread state` is required to call most of Python's C API, " +"unless a function explicitly documents otherwise. The bytecode interpreter " +"only runs under an attached thread state." +msgstr "" +":term:`Присоединённое состояние потока` требуется для вызова большинства " +"функций C API Python, если иное явно не указано в документации функции. " +"Интерпретатор байт-кода выполняется только при наличии присоединённого " +"состояния потока." + +msgid "" +"Each thread state belongs to a single interpreter, but each interpreter may " +"have many thread states, including multiple for the same OS thread. Thread " +"states from multiple interpreters may be bound to the same thread, but only " +"one can be :term:`attached ` in that thread at any " +"given moment." +msgstr "" +"Каждое состояние потока принадлежит одному интерпретатору, но каждый " +"интерпретатор может иметь много состояний потока, в том числе несколько " +"состояний для одного и того же потока ОС. Состояния потоков из нескольких " +"интерпретаторов могут быть привязаны к одному потоку, но в каждый конкретный " +"момент времени к этому потоку может быть :term:`присоединено ` только одно из них." + +msgid "" +"See :ref:`Thread State and the Global Interpreter Lock ` for more " +"information." +msgstr "" +"Дополнительную информацию см. в разделе :ref:`Состояние потока и глобальная " +"блокировка интерпретатора `." + +msgid "thread-safe" +msgstr "потокобезопасный" + +msgid "" +"A module, function, or class that behaves correctly when used by multiple " +"threads concurrently. Thread-safe code uses appropriate :term:" +"`synchronization primitives ` like :term:`locks " +"` to protect shared mutable state, or is designed to avoid shared " +"mutable state entirely. In the :term:`free-threaded ` " +"build, built-in types like :class:`dict`, :class:`list`, and :class:`set` " +"use internal locking to make many operations thread-safe, although thread " +"safety is not necessarily guaranteed. Code that is not thread-safe may " +"experience :term:`race conditions ` and :term:`data races " +"` when used in multi-threaded programs." +msgstr "" +"Модуль, функция или класс, которые корректно работают при одновременном " +"использовании несколькими потоками. Потокобезопасный код использует " +"подходящие :term:`примитивы синхронизации `, " +"такие как :term:`блокировки `, для защиты общего изменяемого состояния " +"или полностью спроектирован так, чтобы избегать общего изменяемого " +"состояния. В сборке со :term:`свободной многопоточностью ` " +"встроенные типы, такие как :class:`dict`, :class:`list` и :class:`set`, " +"используют внутренние блокировки, чтобы сделать многие операции " +"потокобезопасными, хотя потокобезопасность не всегда гарантируется. Код, не " +"являющийся потокобезопасным, при использовании в многопоточных программах " +"может приводить к :term:`состояниям гонки ` и :term:`гонкам " +"данных `." + +msgid "token" +msgstr "токен" + +msgid "" +"A small unit of source code, generated by the :ref:`lexical analyzer " +"` (also called the *tokenizer*). Names, numbers, strings, " +"operators, newlines and similar are represented by tokens." +msgstr "" +"Небольшая единица исходного кода, создаваемая :ref:`лексическим анализатором " +"` (также называемым *токенизатором*). Имена, числа, строки, " +"операторы, символы новой строки и подобные элементы представлены в виде " +"токенов." + +msgid "" +"The :mod:`tokenize` module exposes Python's lexical analyzer. The :mod:" +"`token` module contains information on the various types of tokens." +msgstr "" +"Модуль :mod:`tokenize` предоставляет доступ к лексическому анализатору " +"Python. Модуль :mod:`token` содержит информацию о различных типах токенов." + +msgid "triple-quoted string" +msgstr "строка в тройных кавычках" + +msgid "" +"A string which is bound by three instances of either a quotation mark (\") " +"or an apostrophe ('). While they don't provide any functionality not " +"available with single-quoted strings, they are useful for a number of " +"reasons. They allow you to include unescaped single and double quotes " +"within a string and they can span multiple lines without the use of the " +"continuation character, making them especially useful when writing " +"docstrings." +msgstr "" +"Строка, ограниченная тремя последовательными кавычками: либо двойными (\"), " +"либо одинарными ('). Хотя она не предоставляет никакой функциональности, " +"недоступной для строк в одиночных кавычках, она полезна по нескольким " +"причинам. Она позволяет включать в строку неэкранированные одинарные и " +"двойные кавычки, а также может занимать несколько строк без использования " +"символа продолжения, что делает её особенно полезной при написании строк " +"документации." + +msgid "type" +msgstr "тип" + +msgid "" +"The type of a Python object determines what kind of object it is; every " +"object has a type. An object's type is accessible as its :attr:`~object." +"__class__` attribute or can be retrieved with ``type(obj)``." +msgstr "" +"Тип объекта Python определяет, к какому виду объектов он относится; каждый " +"объект имеет тип. Тип объекта доступен через его атрибут :attr:`~object." +"__class__` или может быть получен с помощью функции ``type(obj)``." + +msgid "type alias" +msgstr "псевдоним типа" + +msgid "A synonym for a type, created by assigning the type to an identifier." +msgstr "Синоним типа, созданный путём присваивания типа идентификатору." + +msgid "" +"Type aliases are useful for simplifying :term:`type hints `. For " +"example::" +msgstr "" +"Псевдонимы типов полезны для упрощения :term:`подсказок типов `. " +"Например::" + +msgid "" +"def remove_gray_shades(\n" +" colors: list[tuple[int, int, int]]) -> list[tuple[int, int, int]]:\n" +" pass" +msgstr "" +"def remove_gray_shades(\n" +" colors: list[tuple[int, int, int]]) -> list[tuple[int, int, int]]:\n" +" pass" + +msgid "could be made more readable like this::" +msgstr "можно сделать более читабельным следующим образом::" + +msgid "" +"Color = tuple[int, int, int]\n" +"\n" +"def remove_gray_shades(colors: list[Color]) -> list[Color]:\n" +" pass" +msgstr "" +"Color = tuple[int, int, int]\n" +"\n" +"def remove_gray_shades(colors: list[Color]) -> list[Color]:\n" +" pass" + +msgid "See :mod:`typing` and :pep:`484`, which describe this functionality." +msgstr "См. :mod:`typing` и :pep:`484`, в которых описана эта возможность." + +msgid "type hint" +msgstr "подсказка типа" + +msgid "" +"An :term:`annotation` that specifies the expected type for a variable, a " +"class attribute, or a function parameter or return value." +msgstr "" +":term:`Аннотация`, указывающая ожидаемый тип переменной, атрибута класса, " +"параметра функции или возвращаемого значения." + +msgid "" +"Type hints are optional and are not enforced by Python but they are useful " +"to :term:`static type checkers `. They can also aid " +"IDEs with code completion and refactoring." +msgstr "" +"Подсказки типов являются необязательными и не проверяются Python, но полезны " +"для :term:`статических анализаторов типов `. Они также " +"могут помогать IDE с автодополнением кода и рефакторингом." + +msgid "" +"Type hints of global variables, class attributes, and functions, but not " +"local variables, can be accessed using :func:`typing.get_type_hints`." +msgstr "" +"Подсказки типов глобальных переменных, атрибутов классов и функций, но не " +"локальных переменных, можно получить с помощью функции :func:`typing." +"get_type_hints`." + +msgid "universal newlines" +msgstr "универсальные переводы строк" + +msgid "" +"A manner of interpreting text streams in which all of the following are " +"recognized as ending a line: the Unix end-of-line convention ``'\\n'``, the " +"Windows convention ``'\\r\\n'``, and the old Macintosh convention " +"``'\\r'``. See :pep:`278` and :pep:`3116`, as well as :func:`bytes." +"splitlines` for an additional use." +msgstr "" +"Способ интерпретации текстовых потоков, при котором все следующие " +"последовательности распознаются как обозначающие конец строки: соглашение " +"Unix о конце строки ``'\\n'``, соглашение Windows ``'\\r\\n'`` и старое " +"соглашение Macintosh ``'\\r'``. См. :pep:`278` и :pep:`3116`, а также :func:" +"`bytes.splitlines` для дополнительного применения." + +msgid "variable annotation" +msgstr "аннотация переменной" + +msgid "An :term:`annotation` of a variable or a class attribute." +msgstr ":term:`Аннотация` переменной или атрибута класса." + +msgid "" +"When annotating a variable or a class attribute, assignment is optional::" +msgstr "" +"При аннотировании переменной или атрибута класса присваивание является " +"необязательным::" + +msgid "" +"class C:\n" +" field: 'annotation'" +msgstr "" +"class C:\n" +" field: 'annotation'" + +msgid "" +"Variable annotations are usually used for :term:`type hints `: " +"for example this variable is expected to take :class:`int` values::" +msgstr "" +"Аннотации переменных обычно используются для :term:`подсказок типов `: например, ожидается, что эта переменная будет принимать значения " +"типа :class:`int`::" + +msgid "count: int = 0" +msgstr "count: int = 0" + +msgid "Variable annotation syntax is explained in section :ref:`annassign`." +msgstr "Синтаксис аннотаций переменных описан в разделе :ref:`annassign`." + +msgid "" +"See :term:`function annotation`, :pep:`484` and :pep:`526`, which describe " +"this functionality. Also see :ref:`annotations-howto` for best practices on " +"working with annotations." +msgstr "" +"См. :term:`аннотация функции`, :pep:`484` и :pep:`526`, которые описывают " +"эту функциональность. См. также :ref:`annotations-howto` для получения " +"рекомендаций по работе с аннотациями." + +msgid "virtual environment" +msgstr "виртуальное окружение" + +msgid "" +"A cooperatively isolated runtime environment that allows Python users and " +"applications to install and upgrade Python distribution packages without " +"interfering with the behaviour of other Python applications running on the " +"same system." +msgstr "" +"Изолированная среда выполнения, которая позволяет пользователям и " +"приложениям Python устанавливать и обновлять пакеты дистрибутива Python без " +"влияния на поведение других приложений Python, работающих в той же системе." + +msgid "See also :mod:`venv`." +msgstr "См. также :mod:`venv`." + +msgid "virtual machine" +msgstr "виртуальная машина" + +msgid "" +"A computer defined entirely in software. Python's virtual machine executes " +"the :term:`bytecode` emitted by the bytecode compiler." +msgstr "" +"Компьютер, полностью реализованный программным обеспечением. Виртуальная " +"машина Python выполняет :term:`байт-код`, созданный компилятором байт-кода." + +msgid "walrus operator" +msgstr "моржовый оператор" + +msgid "" +"A light-hearted way to refer to the :ref:`assignment expression ` operator ``:=`` because it looks a bit like a walrus if you " +"turn your head." +msgstr "" +"Неформальный способ назвать оператор ``:=`` в :ref:`выражении присваивания " +"` , поскольку он немного похож на моржа, если " +"наклонить голову." + +msgid "Zen of Python" +msgstr "Дзен Python" + +msgid "" +"Listing of Python design principles and philosophies that are helpful in " +"understanding and using the language. The listing can be found by typing " +"\"``import this``\" at the interactive prompt." +msgstr "" +"Список принципов проектирования и философских положений Python, которые " +"помогают понимать и использовать язык. Этот список можно получить, набрав " +"«``import this``» в интерактивной оболочке." + +msgid "..." +msgstr "..." + +msgid "ellipsis literal" +msgstr "литерал многоточия" + +msgid "C-contiguous" +msgstr "С-непрерывный" + +msgid "Fortran contiguous" +msgstr "Fortran-непрерывный" + +msgid "magic" +msgstr "магический" + +msgid "special" +msgstr "особенный" diff --git a/license.po b/license.po new file mode 100644 index 000000000..558050314 --- /dev/null +++ b/license.po @@ -0,0 +1,1588 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.15\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-08-11 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Russian (https://app.transifex.com/python-doc/teams/5390/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +msgid "History and License" +msgstr "" + +msgid "History of the software" +msgstr "" + +msgid "" +"Python was created in the early 1990s by Guido van Rossum at Stichting " +"Mathematisch Centrum (CWI, see https://www.cwi.nl) in the Netherlands as a " +"successor of a language called ABC. Guido remains Python's principal " +"author, although it includes many contributions from others." +msgstr "" + +msgid "" +"In 1995, Guido continued his work on Python at the Corporation for National " +"Research Initiatives (CNRI, see https://www.cnri.reston.va.us) in Reston, " +"Virginia where he released several versions of the software." +msgstr "" + +msgid "" +"In May 2000, Guido and the Python core development team moved to BeOpen.com " +"to form the BeOpen PythonLabs team. In October of the same year, the " +"PythonLabs team moved to Digital Creations, which became Zope Corporation. " +"In 2001, the Python Software Foundation (PSF, see https://www.python.org/" +"psf/) was formed, a non-profit organization created specifically to own " +"Python-related Intellectual Property. Zope Corporation was a sponsoring " +"member of the PSF." +msgstr "" + +msgid "" +"All Python releases are Open Source (see https://opensource.org for the Open " +"Source Definition). Historically, most, but not all, Python releases have " +"also been GPL-compatible; the table below summarizes the various releases." +msgstr "" + +msgid "Release" +msgstr "" + +msgid "Derived from" +msgstr "" + +msgid "Year" +msgstr "" + +msgid "Owner" +msgstr "" + +msgid "GPL-compatible? (1)" +msgstr "" + +msgid "0.9.0 thru 1.2" +msgstr "" + +msgid "n/a" +msgstr "" + +msgid "1991-1995" +msgstr "" + +msgid "CWI" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "1.3 thru 1.5.2" +msgstr "" + +msgid "1.2" +msgstr "" + +msgid "1995-1999" +msgstr "" + +msgid "CNRI" +msgstr "" + +msgid "1.6" +msgstr "" + +msgid "1.5.2" +msgstr "" + +msgid "2000" +msgstr "" + +msgid "no" +msgstr "" + +msgid "2.0" +msgstr "" + +msgid "BeOpen.com" +msgstr "" + +msgid "1.6.1" +msgstr "" + +msgid "2001" +msgstr "" + +msgid "yes (2)" +msgstr "" + +msgid "2.1" +msgstr "" + +msgid "2.0+1.6.1" +msgstr "" + +msgid "PSF" +msgstr "" + +msgid "2.0.1" +msgstr "" + +msgid "2.1.1" +msgstr "" + +msgid "2.1+2.0.1" +msgstr "" + +msgid "2.1.2" +msgstr "" + +msgid "2002" +msgstr "" + +msgid "2.1.3" +msgstr "" + +msgid "2.2 and above" +msgstr "" + +msgid "2001-now" +msgstr "" + +msgid "" +"GPL-compatible doesn't mean that we're distributing Python under the GPL. " +"All Python licenses, unlike the GPL, let you distribute a modified version " +"without making your changes open source. The GPL-compatible licenses make it " +"possible to combine Python with other software that is released under the " +"GPL; the others don't." +msgstr "" + +msgid "" +"According to Richard Stallman, 1.6.1 is not GPL-compatible, because its " +"license has a choice of law clause. According to CNRI, however, Stallman's " +"lawyer has told CNRI's lawyer that 1.6.1 is \"not incompatible\" with the " +"GPL." +msgstr "" + +msgid "" +"Thanks to the many outside volunteers who have worked under Guido's " +"direction to make these releases possible." +msgstr "" + +msgid "Terms and conditions for accessing or otherwise using Python" +msgstr "" + +msgid "" +"Python software and documentation are licensed under the Python Software " +"Foundation License Version 2." +msgstr "" + +msgid "" +"Starting with Python 3.8.6, examples, recipes, and other code in the " +"documentation are dual licensed under the PSF License Version 2 and the :ref:" +"`Zero-Clause BSD license `." +msgstr "" + +msgid "" +"Some software incorporated into Python is under different licenses. The " +"licenses are listed with code falling under that license. See :ref:" +"`OtherLicenses` for an incomplete list of these licenses." +msgstr "" + +msgid "PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2" +msgstr "" + +msgid "" +"1. This LICENSE AGREEMENT is between the Python Software Foundation " +"(\"PSF\"), and\n" +" the Individual or Organization (\"Licensee\") accessing and otherwise " +"using this\n" +" software (\"Python\") in source or binary form and its associated " +"documentation.\n" +"\n" +"2. Subject to the terms and conditions of this License Agreement, PSF " +"hereby\n" +" grants Licensee a nonexclusive, royalty-free, world-wide license to " +"reproduce,\n" +" analyze, test, perform and/or display publicly, prepare derivative " +"works,\n" +" distribute, and otherwise use Python alone or in any derivative\n" +" version, provided, however, that PSF's License Agreement and PSF's notice " +"of\n" +" copyright, i.e., \"Copyright © 2001 Python Software Foundation; All " +"Rights\n" +" Reserved\" are retained in Python alone or in any derivative version\n" +" prepared by Licensee.\n" +"\n" +"3. In the event Licensee prepares a derivative work that is based on or\n" +" incorporates Python or any part thereof, and wants to make the\n" +" derivative work available to others as provided herein, then Licensee " +"hereby\n" +" agrees to include in any such work a brief summary of the changes made to " +"Python.\n" +"\n" +"4. PSF is making Python available to Licensee on an \"AS IS\" basis.\n" +" PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY " +"OF\n" +" EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY " +"REPRESENTATION OR\n" +" WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT " +"THE\n" +" USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.\n" +"\n" +"5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\n" +" FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT " +"OF\n" +" MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE\n" +" THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n" +"\n" +"6. This License Agreement will automatically terminate upon a material " +"breach of\n" +" its terms and conditions.\n" +"\n" +"7. Nothing in this License Agreement shall be deemed to create any " +"relationship\n" +" of agency, partnership, or joint venture between PSF and Licensee. This " +"License\n" +" Agreement does not grant permission to use PSF trademarks or trade name " +"in a\n" +" trademark sense to endorse or promote products or services of Licensee, " +"or any\n" +" third party.\n" +"\n" +"8. By copying, installing or otherwise using Python, Licensee agrees\n" +" to be bound by the terms and conditions of this License Agreement." +msgstr "" + +msgid "BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0" +msgstr "" + +msgid "BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1" +msgstr "" + +msgid "" +"1. This LICENSE AGREEMENT is between BeOpen.com (\"BeOpen\"), having an " +"office at\n" +" 160 Saratoga Avenue, Santa Clara, CA 95051, and the Individual or " +"Organization\n" +" (\"Licensee\") accessing and otherwise using this software in source or " +"binary\n" +" form and its associated documentation (\"the Software\").\n" +"\n" +"2. Subject to the terms and conditions of this BeOpen Python License " +"Agreement,\n" +" BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide " +"license\n" +" to reproduce, analyze, test, perform and/or display publicly, prepare " +"derivative\n" +" works, distribute, and otherwise use the Software alone or in any " +"derivative\n" +" version, provided, however, that the BeOpen Python License is retained in " +"the\n" +" Software, alone or in any derivative version prepared by Licensee.\n" +"\n" +"3. BeOpen is making the Software available to Licensee on an \"AS IS\" " +"basis.\n" +" BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY " +"WAY OF\n" +" EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND DISCLAIMS ANY " +"REPRESENTATION OR\n" +" WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT " +"THE\n" +" USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.\n" +"\n" +"4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE " +"FOR\n" +" ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF " +"USING,\n" +" MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN " +"IF\n" +" ADVISED OF THE POSSIBILITY THEREOF.\n" +"\n" +"5. This License Agreement will automatically terminate upon a material " +"breach of\n" +" its terms and conditions.\n" +"\n" +"6. This License Agreement shall be governed by and interpreted in all " +"respects\n" +" by the law of the State of California, excluding conflict of law " +"provisions.\n" +" Nothing in this License Agreement shall be deemed to create any " +"relationship of\n" +" agency, partnership, or joint venture between BeOpen and Licensee. This " +"License\n" +" Agreement does not grant permission to use BeOpen trademarks or trade " +"names in a\n" +" trademark sense to endorse or promote products or services of Licensee, " +"or any\n" +" third party. As an exception, the \"BeOpen Python\" logos available at\n" +" http://www.pythonlabs.com/logos.html may be used according to the " +"permissions\n" +" granted on that web page.\n" +"\n" +"7. By copying, installing or otherwise using the software, Licensee agrees " +"to be\n" +" bound by the terms and conditions of this License Agreement." +msgstr "" + +msgid "CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1" +msgstr "" + +msgid "" +"1. This LICENSE AGREEMENT is between the Corporation for National Research\n" +" Initiatives, having an office at 1895 Preston White Drive, Reston, VA " +"20191\n" +" (\"CNRI\"), and the Individual or Organization (\"Licensee\") accessing " +"and\n" +" otherwise using Python 1.6.1 software in source or binary form and its\n" +" associated documentation.\n" +"\n" +"2. Subject to the terms and conditions of this License Agreement, CNRI " +"hereby\n" +" grants Licensee a nonexclusive, royalty-free, world-wide license to " +"reproduce,\n" +" analyze, test, perform and/or display publicly, prepare derivative " +"works,\n" +" distribute, and otherwise use Python 1.6.1 alone or in any derivative " +"version,\n" +" provided, however, that CNRI's License Agreement and CNRI's notice of " +"copyright,\n" +" i.e., \"Copyright © 1995-2001 Corporation for National Research " +"Initiatives; All\n" +" Rights Reserved\" are retained in Python 1.6.1 alone or in any derivative " +"version\n" +" prepared by Licensee. Alternately, in lieu of CNRI's License Agreement,\n" +" Licensee may substitute the following text (omitting the quotes): " +"\"Python 1.6.1\n" +" is made available subject to the terms and conditions in CNRI's License\n" +" Agreement. This Agreement together with Python 1.6.1 may be located on " +"the\n" +" internet using the following unique, persistent identifier (known as a " +"handle):\n" +" 1895.22/1013. This Agreement may also be obtained from a proxy server on " +"the\n" +" internet using the following URL: http://hdl.handle.net/1895.22/1013\".\n" +"\n" +"3. In the event Licensee prepares a derivative work that is based on or\n" +" incorporates Python 1.6.1 or any part thereof, and wants to make the " +"derivative\n" +" work available to others as provided herein, then Licensee hereby agrees " +"to\n" +" include in any such work a brief summary of the changes made to Python " +"1.6.1.\n" +"\n" +"4. CNRI is making Python 1.6.1 available to Licensee on an \"AS IS\" basis. " +"CNRI\n" +" MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF " +"EXAMPLE,\n" +" BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR " +"WARRANTY\n" +" OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE " +"OF\n" +" PYTHON 1.6.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.\n" +"\n" +"5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6.1 " +"FOR\n" +" ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF\n" +" MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, OR ANY " +"DERIVATIVE\n" +" THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n" +"\n" +"6. This License Agreement will automatically terminate upon a material " +"breach of\n" +" its terms and conditions.\n" +"\n" +"7. This License Agreement shall be governed by the federal intellectual " +"property\n" +" law of the United States, including without limitation the federal " +"copyright\n" +" law, and, to the extent such U.S. federal law does not apply, by the law " +"of the\n" +" Commonwealth of Virginia, excluding Virginia's conflict of law " +"provisions.\n" +" Notwithstanding the foregoing, with regard to derivative works based on " +"Python\n" +" 1.6.1 that incorporate non-separable material that was previously " +"distributed\n" +" under the GNU General Public License (GPL), the law of the Commonwealth " +"of\n" +" Virginia shall govern this License Agreement only as to issues arising " +"under or\n" +" with respect to Paragraphs 4, 5, and 7 of this License Agreement. " +"Nothing in\n" +" this License Agreement shall be deemed to create any relationship of " +"agency,\n" +" partnership, or joint venture between CNRI and Licensee. This License " +"Agreement\n" +" does not grant permission to use CNRI trademarks or trade name in a " +"trademark\n" +" sense to endorse or promote products or services of Licensee, or any " +"third\n" +" party.\n" +"\n" +"8. By clicking on the \"ACCEPT\" button where indicated, or by copying, " +"installing\n" +" or otherwise using Python 1.6.1, Licensee agrees to be bound by the terms " +"and\n" +" conditions of this License Agreement." +msgstr "" + +msgid "CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2" +msgstr "" + +msgid "" +"Copyright © 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The\n" +"Netherlands. All rights reserved.\n" +"\n" +"Permission to use, copy, modify, and distribute this software and its\n" +"documentation for any purpose and without fee is hereby granted, provided " +"that\n" +"the above copyright notice appear in all copies and that both that " +"copyright\n" +"notice and this permission notice appear in supporting documentation, and " +"that\n" +"the name of Stichting Mathematisch Centrum or CWI not be used in advertising " +"or\n" +"publicity pertaining to distribution of the software without specific, " +"written\n" +"prior permission.\n" +"\n" +"STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\n" +"SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, " +"IN NO\n" +"EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, " +"INDIRECT\n" +"OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF " +"USE,\n" +"DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER " +"TORTIOUS\n" +"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS\n" +"SOFTWARE." +msgstr "" + +msgid "ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON DOCUMENTATION" +msgstr "" + +msgid "" +"Permission to use, copy, modify, and/or distribute this software for any\n" +"purpose with or without fee is hereby granted.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES " +"WITH\n" +"REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n" +"AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, " +"DIRECT,\n" +"INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n" +"LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE " +"OR\n" +"OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n" +"PERFORMANCE OF THIS SOFTWARE." +msgstr "" + +msgid "Licenses and Acknowledgements for Incorporated Software" +msgstr "" + +msgid "" +"This section is an incomplete, but growing list of licenses and " +"acknowledgements for third-party software incorporated in the Python " +"distribution." +msgstr "" + +msgid "Mersenne Twister" +msgstr "" + +msgid "" +"The :mod:`!_random` C extension underlying the :mod:`random` module includes " +"code based on a download from http://www.math.sci.hiroshima-u.ac.jp/~m-mat/" +"MT/MT2002/emt19937ar.html. The following are the verbatim comments from the " +"original code::" +msgstr "" + +msgid "" +"A C-program for MT19937, with initialization improved 2002/1/26.\n" +"Coded by Takuji Nishimura and Makoto Matsumoto.\n" +"\n" +"Before using, initialize the state by using init_genrand(seed)\n" +"or init_by_array(init_key, key_length).\n" +"\n" +"Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,\n" +"All rights reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"\n" +" 1. Redistributions of source code must retain the above copyright\n" +" notice, this list of conditions and the following disclaimer.\n" +"\n" +" 2. Redistributions in binary form must reproduce the above copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"\n" +" 3. The names of its contributors may not be used to endorse or promote\n" +" products derived from this software without specific prior written\n" +" permission.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" +"\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" +"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n" +"A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER " +"OR\n" +"CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n" +"EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n" +"PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n" +"PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n" +"LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n" +"NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n" +"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n" +"\n" +"\n" +"Any feedback is very welcome.\n" +"http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html\n" +"email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)" +msgstr "" + +msgid "Sockets" +msgstr "" + +msgid "" +"The :mod:`socket` module uses the functions, :c:func:`!getaddrinfo`, and :c:" +"func:`!getnameinfo`, which are coded in separate source files from the WIDE " +"Project, https://www.wide.ad.jp/. ::" +msgstr "" + +msgid "" +"Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.\n" +"All rights reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"1. Redistributions of source code must retain the above copyright\n" +" notice, this list of conditions and the following disclaimer.\n" +"2. Redistributions in binary form must reproduce the above copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"3. Neither the name of the project nor the names of its contributors\n" +" may be used to endorse or promote products derived from this software\n" +" without specific prior written permission.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS \"AS IS\" AND\n" +"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" +"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n" +"ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE\n" +"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" +"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n" +"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" +"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n" +"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n" +"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" +"SUCH DAMAGE." +msgstr "" + +msgid "Asynchronous socket services" +msgstr "" + +msgid "" +"The :mod:`!test.support.asynchat` and :mod:`!test.support.asyncore` modules " +"contain the following notice::" +msgstr "" + +msgid "" +"Copyright 1996 by Sam Rushing\n" +"\n" +" All Rights Reserved\n" +"\n" +"Permission to use, copy, modify, and distribute this software and\n" +"its documentation for any purpose and without fee is hereby\n" +"granted, provided that the above copyright notice appear in all\n" +"copies and that both that copyright notice and this permission\n" +"notice appear in supporting documentation, and that the name of Sam\n" +"Rushing not be used in advertising or publicity pertaining to\n" +"distribution of the software without specific, written prior\n" +"permission.\n" +"\n" +"SAM RUSHING DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,\n" +"INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN\n" +"NO EVENT SHALL SAM RUSHING BE LIABLE FOR ANY SPECIAL, INDIRECT OR\n" +"CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n" +"OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\n" +"NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN\n" +"CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE." +msgstr "" + +msgid "Cookie management" +msgstr "" + +msgid "The :mod:`http.cookies` module contains the following notice::" +msgstr "" + +msgid "" +"Copyright 2000 by Timothy O'Malley \n" +"\n" +" All Rights Reserved\n" +"\n" +"Permission to use, copy, modify, and distribute this software\n" +"and its documentation for any purpose and without fee is hereby\n" +"granted, provided that the above copyright notice appear in all\n" +"copies and that both that copyright notice and this permission\n" +"notice appear in supporting documentation, and that the name of\n" +"Timothy O'Malley not be used in advertising or publicity\n" +"pertaining to distribution of the software without specific, written\n" +"prior permission.\n" +"\n" +"Timothy O'Malley DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\n" +"SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n" +"AND FITNESS, IN NO EVENT SHALL Timothy O'Malley BE LIABLE FOR\n" +"ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n" +"WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\n" +"WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS\n" +"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n" +"PERFORMANCE OF THIS SOFTWARE." +msgstr "" + +msgid "Execution tracing" +msgstr "" + +msgid "The :mod:`trace` module contains the following notice::" +msgstr "" + +msgid "" +"portions copyright 2001, Autonomous Zones Industries, Inc., all rights...\n" +"err... reserved and offered to the public under the terms of the\n" +"Python 2.2 license.\n" +"Author: Zooko O'Whielacronx\n" +"http://zooko.com/\n" +"mailto:zooko@zooko.com\n" +"\n" +"Copyright 2000, Mojam Media, Inc., all rights reserved.\n" +"Author: Skip Montanaro\n" +"\n" +"Copyright 1999, Bioreason, Inc., all rights reserved.\n" +"Author: Andrew Dalke\n" +"\n" +"Copyright 1995-1997, Automatrix, Inc., all rights reserved.\n" +"Author: Skip Montanaro\n" +"\n" +"Copyright 1991-1995, Stichting Mathematisch Centrum, all rights reserved.\n" +"\n" +"\n" +"Permission to use, copy, modify, and distribute this Python software and\n" +"its associated documentation for any purpose without fee is hereby\n" +"granted, provided that the above copyright notice appears in all copies,\n" +"and that both that copyright notice and this permission notice appear in\n" +"supporting documentation, and that the name of neither Automatrix,\n" +"Bioreason or Mojam Media be used in advertising or publicity pertaining to\n" +"distribution of the software without specific, written prior permission." +msgstr "" + +msgid "UUencode and UUdecode functions" +msgstr "" + +msgid "The ``uu`` codec contains the following notice::" +msgstr "" + +msgid "" +"Copyright 1994 by Lance Ellinghouse\n" +"Cathedral City, California Republic, United States of America.\n" +" All Rights Reserved\n" +"Permission to use, copy, modify, and distribute this software and its\n" +"documentation for any purpose and without fee is hereby granted,\n" +"provided that the above copyright notice appear in all copies and that\n" +"both that copyright notice and this permission notice appear in\n" +"supporting documentation, and that the name of Lance Ellinghouse\n" +"not be used in advertising or publicity pertaining to distribution\n" +"of the software without specific, written prior permission.\n" +"LANCE ELLINGHOUSE DISCLAIMS ALL WARRANTIES WITH REGARD TO\n" +"THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n" +"FITNESS, IN NO EVENT SHALL LANCE ELLINGHOUSE CENTRUM BE LIABLE\n" +"FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n" +"WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n" +"ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT\n" +"OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n" +"\n" +"Modified by Jack Jansen, CWI, July 1995:\n" +"- Use binascii module to do the actual line-by-line conversion\n" +" between ascii and binary. This results in a 1000-fold speedup. The C\n" +" version is still 5 times faster, though.\n" +"- Arguments more compliant with Python standard" +msgstr "" + +msgid "XML Remote Procedure Calls" +msgstr "" + +msgid "The :mod:`xmlrpc.client` module contains the following notice::" +msgstr "" + +msgid "" +" The XML-RPC client interface is\n" +"\n" +"Copyright (c) 1999-2002 by Secret Labs AB\n" +"Copyright (c) 1999-2002 by Fredrik Lundh\n" +"\n" +"By obtaining, using, and/or copying this software and/or its\n" +"associated documentation, you agree that you have read, understood,\n" +"and will comply with the following terms and conditions:\n" +"\n" +"Permission to use, copy, modify, and distribute this software and\n" +"its associated documentation for any purpose and without fee is\n" +"hereby granted, provided that the above copyright notice appears in\n" +"all copies, and that both that copyright notice and this permission\n" +"notice appear in supporting documentation, and that the name of\n" +"Secret Labs AB or the author not be used in advertising or publicity\n" +"pertaining to distribution of the software without specific, written\n" +"prior permission.\n" +"\n" +"SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD\n" +"TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT-\n" +"ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR\n" +"BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY\n" +"DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\n" +"WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS\n" +"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE\n" +"OF THIS SOFTWARE." +msgstr "" + +msgid "test_epoll" +msgstr "" + +msgid "The :mod:`!test.test_epoll` module contains the following notice::" +msgstr "" + +msgid "" +"Copyright (c) 2001-2006 Twisted Matrix Laboratories.\n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining\n" +"a copy of this software and associated documentation files (the\n" +"\"Software\"), to deal in the Software without restriction, including\n" +"without limitation the rights to use, copy, modify, merge, publish,\n" +"distribute, sublicense, and/or sell copies of the Software, and to\n" +"permit persons to whom the Software is furnished to do so, subject to\n" +"the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be\n" +"included in all copies or substantial portions of the Software.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" +"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" +"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n" +"NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n" +"LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n" +"OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n" +"WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." +msgstr "" + +msgid "Select kqueue" +msgstr "" + +msgid "" +"The :mod:`select` module contains the following notice for the kqueue " +"interface::" +msgstr "" + +msgid "" +"Copyright (c) 2000 Doug White, 2006 James Knight, 2007 Christian Heimes\n" +"All rights reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"1. Redistributions of source code must retain the above copyright\n" +" notice, this list of conditions and the following disclaimer.\n" +"2. Redistributions in binary form must reproduce the above copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS \"AS IS\" AND\n" +"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" +"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n" +"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n" +"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" +"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n" +"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" +"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n" +"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n" +"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" +"SUCH DAMAGE." +msgstr "" + +msgid "SipHash24" +msgstr "" + +msgid "" +"The file :file:`Python/pyhash.c` contains Marek Majkowski' implementation of " +"Dan Bernstein's SipHash24 algorithm. It contains the following note::" +msgstr "" + +msgid "" +"\n" +"Copyright (c) 2013 Marek Majkowski \n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining a " +"copy\n" +"of this software and associated documentation files (the \"Software\"), to " +"deal\n" +"in the Software without restriction, including without limitation the " +"rights\n" +"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n" +"copies of the Software, and to permit persons to whom the Software is\n" +"furnished to do so, subject to the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be included in\n" +"all copies or substantial portions of the Software.\n" +"\n" +"\n" +"Original location:\n" +" https://github.com/majek/csiphash/\n" +"\n" +"Solution inspired by code from:\n" +" Samuel Neves (supercop/crypto_auth/siphash24/little)\n" +" djb (supercop/crypto_auth/siphash24/little2)\n" +" Jean-Philippe Aumasson (https://131002.net/siphash/siphash24.c)" +msgstr "" + +msgid "strtod and dtoa" +msgstr "" + +msgid "" +"The file :file:`Python/dtoa.c`, which supplies C functions dtoa and strtod " +"for conversion of C doubles to and from strings, is derived from the file of " +"the same name by David M. Gay, currently available from https://web.archive." +"org/web/20220517033456/http://www.netlib.org/fp/dtoa.c. The original file, " +"as retrieved on March 16, 2009, contains the following copyright and " +"licensing notice::" +msgstr "" + +msgid "" +"/****************************************************************\n" +" *\n" +" * The author of this software is David M. Gay.\n" +" *\n" +" * Copyright (c) 1991, 2000, 2001 by Lucent Technologies.\n" +" *\n" +" * Permission to use, copy, modify, and distribute this software for any\n" +" * purpose without fee is hereby granted, provided that this entire notice\n" +" * is included in all copies of any software which is or includes a copy\n" +" * or modification of this software and in all copies of the supporting\n" +" * documentation for such software.\n" +" *\n" +" * THIS SOFTWARE IS BEING PROVIDED \"AS IS\", WITHOUT ANY EXPRESS OR " +"IMPLIED\n" +" * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY\n" +" * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY\n" +" * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.\n" +" *\n" +" ***************************************************************/" +msgstr "" + +msgid "OpenSSL" +msgstr "" + +msgid "" +"The modules :mod:`hashlib`, :mod:`posix` and :mod:`ssl` use the OpenSSL " +"library for added performance if made available by the operating system. " +"Additionally, the Windows and macOS installers for Python may include a copy " +"of the OpenSSL libraries, so we include a copy of the OpenSSL license here. " +"For the OpenSSL 3.0 release, and later releases derived from that, the " +"Apache License v2 applies::" +msgstr "" + +msgid "" +" Apache License\n" +" Version 2.0, January 2004\n" +" https://www.apache.org/licenses/\n" +"\n" +"TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n" +"\n" +"1. Definitions.\n" +"\n" +" \"License\" shall mean the terms and conditions for use, reproduction,\n" +" and distribution as defined by Sections 1 through 9 of this document.\n" +"\n" +" \"Licensor\" shall mean the copyright owner or entity authorized by\n" +" the copyright owner that is granting the License.\n" +"\n" +" \"Legal Entity\" shall mean the union of the acting entity and all\n" +" other entities that control, are controlled by, or are under common\n" +" control with that entity. For the purposes of this definition,\n" +" \"control\" means (i) the power, direct or indirect, to cause the\n" +" direction or management of such entity, whether by contract or\n" +" otherwise, or (ii) ownership of fifty percent (50%) or more of the\n" +" outstanding shares, or (iii) beneficial ownership of such entity.\n" +"\n" +" \"You\" (or \"Your\") shall mean an individual or Legal Entity\n" +" exercising permissions granted by this License.\n" +"\n" +" \"Source\" form shall mean the preferred form for making modifications,\n" +" including but not limited to software source code, documentation\n" +" source, and configuration files.\n" +"\n" +" \"Object\" form shall mean any form resulting from mechanical\n" +" transformation or translation of a Source form, including but\n" +" not limited to compiled object code, generated documentation,\n" +" and conversions to other media types.\n" +"\n" +" \"Work\" shall mean the work of authorship, whether in Source or\n" +" Object form, made available under the License, as indicated by a\n" +" copyright notice that is included in or attached to the work\n" +" (an example is provided in the Appendix below).\n" +"\n" +" \"Derivative Works\" shall mean any work, whether in Source or Object\n" +" form, that is based on (or derived from) the Work and for which the\n" +" editorial revisions, annotations, elaborations, or other modifications\n" +" represent, as a whole, an original work of authorship. For the purposes\n" +" of this License, Derivative Works shall not include works that remain\n" +" separable from, or merely link (or bind by name) to the interfaces of,\n" +" the Work and Derivative Works thereof.\n" +"\n" +" \"Contribution\" shall mean any work of authorship, including\n" +" the original version of the Work and any modifications or additions\n" +" to that Work or Derivative Works thereof, that is intentionally\n" +" submitted to Licensor for inclusion in the Work by the copyright owner\n" +" or by an individual or Legal Entity authorized to submit on behalf of\n" +" the copyright owner. For the purposes of this definition, \"submitted\"\n" +" means any form of electronic, verbal, or written communication sent\n" +" to the Licensor or its representatives, including but not limited to\n" +" communication on electronic mailing lists, source code control systems,\n" +" and issue tracking systems that are managed by, or on behalf of, the\n" +" Licensor for the purpose of discussing and improving the Work, but\n" +" excluding communication that is conspicuously marked or otherwise\n" +" designated in writing by the copyright owner as \"Not a Contribution.\"\n" +"\n" +" \"Contributor\" shall mean Licensor and any individual or Legal Entity\n" +" on behalf of whom a Contribution has been received by Licensor and\n" +" subsequently incorporated within the Work.\n" +"\n" +"2. Grant of Copyright License. Subject to the terms and conditions of\n" +" this License, each Contributor hereby grants to You a perpetual,\n" +" worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n" +" copyright license to reproduce, prepare Derivative Works of,\n" +" publicly display, publicly perform, sublicense, and distribute the\n" +" Work and such Derivative Works in Source or Object form.\n" +"\n" +"3. Grant of Patent License. Subject to the terms and conditions of\n" +" this License, each Contributor hereby grants to You a perpetual,\n" +" worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n" +" (except as stated in this section) patent license to make, have made,\n" +" use, offer to sell, sell, import, and otherwise transfer the Work,\n" +" where such license applies only to those patent claims licensable\n" +" by such Contributor that are necessarily infringed by their\n" +" Contribution(s) alone or by combination of their Contribution(s)\n" +" with the Work to which such Contribution(s) was submitted. If You\n" +" institute patent litigation against any entity (including a\n" +" cross-claim or counterclaim in a lawsuit) alleging that the Work\n" +" or a Contribution incorporated within the Work constitutes direct\n" +" or contributory patent infringement, then any patent licenses\n" +" granted to You under this License for that Work shall terminate\n" +" as of the date such litigation is filed.\n" +"\n" +"4. Redistribution. You may reproduce and distribute copies of the\n" +" Work or Derivative Works thereof in any medium, with or without\n" +" modifications, and in Source or Object form, provided that You\n" +" meet the following conditions:\n" +"\n" +" (a) You must give any other recipients of the Work or\n" +" Derivative Works a copy of this License; and\n" +"\n" +" (b) You must cause any modified files to carry prominent notices\n" +" stating that You changed the files; and\n" +"\n" +" (c) You must retain, in the Source form of any Derivative Works\n" +" that You distribute, all copyright, patent, trademark, and\n" +" attribution notices from the Source form of the Work,\n" +" excluding those notices that do not pertain to any part of\n" +" the Derivative Works; and\n" +"\n" +" (d) If the Work includes a \"NOTICE\" text file as part of its\n" +" distribution, then any Derivative Works that You distribute must\n" +" include a readable copy of the attribution notices contained\n" +" within such NOTICE file, excluding those notices that do not\n" +" pertain to any part of the Derivative Works, in at least one\n" +" of the following places: within a NOTICE text file distributed\n" +" as part of the Derivative Works; within the Source form or\n" +" documentation, if provided along with the Derivative Works; or,\n" +" within a display generated by the Derivative Works, if and\n" +" wherever such third-party notices normally appear. The contents\n" +" of the NOTICE file are for informational purposes only and\n" +" do not modify the License. You may add Your own attribution\n" +" notices within Derivative Works that You distribute, alongside\n" +" or as an addendum to the NOTICE text from the Work, provided\n" +" that such additional attribution notices cannot be construed\n" +" as modifying the License.\n" +"\n" +" You may add Your own copyright statement to Your modifications and\n" +" may provide additional or different license terms and conditions\n" +" for use, reproduction, or distribution of Your modifications, or\n" +" for any such Derivative Works as a whole, provided Your use,\n" +" reproduction, and distribution of the Work otherwise complies with\n" +" the conditions stated in this License.\n" +"\n" +"5. Submission of Contributions. Unless You explicitly state otherwise,\n" +" any Contribution intentionally submitted for inclusion in the Work\n" +" by You to the Licensor shall be under the terms and conditions of\n" +" this License, without any additional terms or conditions.\n" +" Notwithstanding the above, nothing herein shall supersede or modify\n" +" the terms of any separate license agreement you may have executed\n" +" with Licensor regarding such Contributions.\n" +"\n" +"6. Trademarks. This License does not grant permission to use the trade\n" +" names, trademarks, service marks, or product names of the Licensor,\n" +" except as required for reasonable and customary use in describing the\n" +" origin of the Work and reproducing the content of the NOTICE file.\n" +"\n" +"7. Disclaimer of Warranty. Unless required by applicable law or\n" +" agreed to in writing, Licensor provides the Work (and each\n" +" Contributor provides its Contributions) on an \"AS IS\" BASIS,\n" +" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n" +" implied, including, without limitation, any warranties or conditions\n" +" of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n" +" PARTICULAR PURPOSE. You are solely responsible for determining the\n" +" appropriateness of using or redistributing the Work and assume any\n" +" risks associated with Your exercise of permissions under this License.\n" +"\n" +"8. Limitation of Liability. In no event and under no legal theory,\n" +" whether in tort (including negligence), contract, or otherwise,\n" +" unless required by applicable law (such as deliberate and grossly\n" +" negligent acts) or agreed to in writing, shall any Contributor be\n" +" liable to You for damages, including any direct, indirect, special,\n" +" incidental, or consequential damages of any character arising as a\n" +" result of this License or out of the use or inability to use the\n" +" Work (including but not limited to damages for loss of goodwill,\n" +" work stoppage, computer failure or malfunction, or any and all\n" +" other commercial damages or losses), even if such Contributor\n" +" has been advised of the possibility of such damages.\n" +"\n" +"9. Accepting Warranty or Additional Liability. While redistributing\n" +" the Work or Derivative Works thereof, You may choose to offer,\n" +" and charge a fee for, acceptance of support, warranty, indemnity,\n" +" or other liability obligations and/or rights consistent with this\n" +" License. However, in accepting such obligations, You may act only\n" +" on Your own behalf and on Your sole responsibility, not on behalf\n" +" of any other Contributor, and only if You agree to indemnify,\n" +" defend, and hold each Contributor harmless for any liability\n" +" incurred by, or claims asserted against, such Contributor by reason\n" +" of your accepting any such warranty or additional liability.\n" +"\n" +"END OF TERMS AND CONDITIONS" +msgstr "" + +msgid "expat" +msgstr "" + +msgid "" +"The :mod:`pyexpat ` extension is built using an included " +"copy of the expat sources unless the build is configured :option:`--with-" +"system-expat`:" +msgstr "" + +msgid "" +"Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark " +"Cooper\n" +"Copyright (c) 2001-2025 Expat maintainers\n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining\n" +"a copy of this software and associated documentation files (the\n" +"\"Software\"), to deal in the Software without restriction, including\n" +"without limitation the rights to use, copy, modify, merge, publish,\n" +"distribute, sublicense, and/or sell copies of the Software, and to\n" +"permit persons to whom the Software is furnished to do so, subject to\n" +"the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be included\n" +"in all copies or substantial portions of the Software.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" +"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" +"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n" +"IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n" +"CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n" +"TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n" +"SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n" +msgstr "" + +msgid "libffi" +msgstr "" + +msgid "" +"The :mod:`!_ctypes` C extension underlying the :mod:`ctypes` module is built " +"using an included copy of the libffi sources unless the build is configured " +"``--with-system-libffi``::" +msgstr "" + +msgid "" +"Copyright (c) 1996-2008 Red Hat, Inc and others.\n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining\n" +"a copy of this software and associated documentation files (the\n" +"\"Software\"), to deal in the Software without restriction, including\n" +"without limitation the rights to use, copy, modify, merge, publish,\n" +"distribute, sublicense, and/or sell copies of the Software, and to\n" +"permit persons to whom the Software is furnished to do so, subject to\n" +"the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be included\n" +"in all copies or substantial portions of the Software.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" +"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" +"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n" +"NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n" +"HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n" +"WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n" +"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n" +"DEALINGS IN THE SOFTWARE." +msgstr "" + +msgid "zlib" +msgstr "" + +msgid "" +"The :mod:`zlib` extension is built using an included copy of the zlib " +"sources if the zlib version found on the system is too old to be used for " +"the build::" +msgstr "" + +msgid "" +"Copyright (C) 1995-2011 Jean-loup Gailly and Mark Adler\n" +"\n" +"This software is provided 'as-is', without any express or implied\n" +"warranty. In no event will the authors be held liable for any damages\n" +"arising from the use of this software.\n" +"\n" +"Permission is granted to anyone to use this software for any purpose,\n" +"including commercial applications, and to alter it and redistribute it\n" +"freely, subject to the following restrictions:\n" +"\n" +"1. The origin of this software must not be misrepresented; you must not\n" +" claim that you wrote the original software. If you use this software\n" +" in a product, an acknowledgment in the product documentation would be\n" +" appreciated but is not required.\n" +"\n" +"2. Altered source versions must be plainly marked as such, and must not be\n" +" misrepresented as being the original software.\n" +"\n" +"3. This notice may not be removed or altered from any source distribution.\n" +"\n" +"Jean-loup Gailly Mark Adler\n" +"jloup@gzip.org madler@alumni.caltech.edu" +msgstr "" + +msgid "cfuhash" +msgstr "" + +msgid "" +"The implementation of the hash table used by the :mod:`tracemalloc` is based " +"on the cfuhash project::" +msgstr "" + +msgid "" +"Copyright (c) 2005 Don Owens\n" +"All rights reserved.\n" +"\n" +"This code is released under the BSD license:\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"\n" +" * Redistributions of source code must retain the above copyright\n" +" notice, this list of conditions and the following disclaimer.\n" +"\n" +" * Redistributions in binary form must reproduce the above\n" +" copyright notice, this list of conditions and the following\n" +" disclaimer in the documentation and/or other materials provided\n" +" with the distribution.\n" +"\n" +" * Neither the name of the author nor the names of its\n" +" contributors may be used to endorse or promote products derived\n" +" from this software without specific prior written permission.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" +"\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" +"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n" +"FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n" +"COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n" +"INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n" +"(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n" +"SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" +"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n" +"STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n" +"ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n" +"OF THE POSSIBILITY OF SUCH DAMAGE." +msgstr "" + +msgid "libmpdec" +msgstr "" + +msgid "" +"The :mod:`!_decimal` C extension underlying the :mod:`decimal` module is " +"built using an included copy of the libmpdec library unless the build is " +"configured ``--with-system-libmpdec``::" +msgstr "" + +msgid "" +"Copyright (c) 2008-2020 Stefan Krah. All rights reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"\n" +"1. Redistributions of source code must retain the above copyright\n" +" notice, this list of conditions and the following disclaimer.\n" +"\n" +"2. Redistributions in binary form must reproduce the above copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS \"AS IS\" AND\n" +"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" +"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n" +"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n" +"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" +"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n" +"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" +"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n" +"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n" +"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" +"SUCH DAMAGE." +msgstr "" + +msgid "W3C C14N test suite" +msgstr "" + +msgid "" +"The C14N 2.0 test suite in the :mod:`test` package (``Lib/test/xmltestdata/" +"c14n-20/``) was retrieved from the W3C website at https://www.w3.org/TR/xml-" +"c14n2-testcases/ and is distributed under the 3-clause BSD license::" +msgstr "" + +msgid "" +"Copyright (c) 2013 W3C(R) (MIT, ERCIM, Keio, Beihang),\n" +"All Rights Reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"\n" +"* Redistributions of works must retain the original copyright notice,\n" +" this list of conditions and the following disclaimer.\n" +"* Redistributions in binary form must reproduce the original copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"* Neither the name of the W3C nor the names of its contributors may be\n" +" used to endorse or promote products derived from this work without\n" +" specific prior written permission.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" +"\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" +"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n" +"A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n" +"OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n" +"SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n" +"LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n" +"DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n" +"THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n" +"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n" +"OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +msgstr "" + +msgid "mimalloc" +msgstr "" + +msgid "MIT License::" +msgstr "" + +msgid "" +"Copyright (c) 2018-2021 Microsoft Corporation, Daan Leijen\n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining a " +"copy\n" +"of this software and associated documentation files (the \"Software\"), to " +"deal\n" +"in the Software without restriction, including without limitation the " +"rights\n" +"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n" +"copies of the Software, and to permit persons to whom the Software is\n" +"furnished to do so, subject to the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be included in " +"all\n" +"copies or substantial portions of the Software.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS " +"OR\n" +"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n" +"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n" +"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n" +"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING " +"FROM,\n" +"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN " +"THE\n" +"SOFTWARE." +msgstr "" + +msgid "asyncio" +msgstr "" + +msgid "" +"Parts of the :mod:`asyncio` module are incorporated from `uvloop 0.16 " +"`_, which is distributed " +"under the MIT license::" +msgstr "" + +msgid "" +"Copyright (c) 2015-2021 MagicStack Inc. http://magic.io\n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining\n" +"a copy of this software and associated documentation files (the\n" +"\"Software\"), to deal in the Software without restriction, including\n" +"without limitation the rights to use, copy, modify, merge, publish,\n" +"distribute, sublicense, and/or sell copies of the Software, and to\n" +"permit persons to whom the Software is furnished to do so, subject to\n" +"the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be\n" +"included in all copies or substantial portions of the Software.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" +"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" +"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n" +"NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n" +"LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n" +"OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n" +"WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." +msgstr "" + +msgid "Global Unbounded Sequences (GUS)" +msgstr "" + +msgid "" +"The file :file:`Python/qsbr.c` is adapted from FreeBSD's \"Global Unbounded " +"Sequences\" safe memory reclamation scheme in `subr_smr.c `_. The file is " +"distributed under the 2-Clause BSD License::" +msgstr "" + +msgid "" +"Copyright (c) 2019,2020 Jeffrey Roberson \n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"1. Redistributions of source code must retain the above copyright\n" +" notice unmodified, this list of conditions, and the following\n" +" disclaimer.\n" +"2. Redistributions in binary form must reproduce the above copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR\n" +"IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n" +"OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n" +"IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\n" +"INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n" +"NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n" +"DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n" +"THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n" +"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n" +"THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +msgstr "" + +msgid "Zstandard bindings" +msgstr "" + +msgid "" +"Zstandard bindings in :file:`Modules/_zstd` and :file:`Lib/compression/zstd` " +"are based on code from the `pyzstd library `_, copyright Ma Lin and contributors. The pyzstd code is " +"distributed under the 3-Clause BSD License::" +msgstr "" + +msgid "" +"Copyright (c) 2020-present, Ma Lin and contributors.\n" +"All rights reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions are met:\n" +"\n" +"1. Redistributions of source code must retain the above copyright notice, " +"this\n" +" list of conditions and the following disclaimer.\n" +"\n" +"2. Redistributions in binary form must reproduce the above copyright " +"notice,\n" +" this list of conditions and the following disclaimer in the " +"documentation\n" +" and/or other materials provided with the distribution.\n" +"\n" +"3. Neither the name of the copyright holder nor the names of its\n" +" contributors may be used to endorse or promote products derived from\n" +" this software without specific prior written permission.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS " +"IS\"\n" +"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" +"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE " +"ARE\n" +"DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE " +"LIABLE\n" +"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" +"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n" +"SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n" +"CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT " +"LIABILITY,\n" +"OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE " +"USE\n" +"OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +msgstr "" + +msgid "Profiling module" +msgstr "" + +msgid "" +"The :mod:`!profiling` module includes vendored third-party libraries in :" +"file:`Lib/profiling/sampling/_vendor/` with the following licenses:" +msgstr "" + +msgid "**d3-flamegraph**" +msgstr "" + +msgid "" +"The d3-flamegraph library is distributed under the Apache License, Version " +"2.0. See the OpenSSL section above for the full text of the Apache License " +"Version 2.0." +msgstr "" + +msgid "**d3.js**" +msgstr "" + +msgid "The d3.js library contains the following notice::" +msgstr "" + +msgid "" +"Copyright 2010-2021 Mike Bostock\n" +"\n" +"Permission to use, copy, modify, and/or distribute this software for any " +"purpose\n" +"with or without fee is hereby granted, provided that the above copyright " +"notice\n" +"and this permission notice appear in all copies.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES " +"WITH\n" +"REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY " +"AND\n" +"FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n" +"INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM " +"LOSS\n" +"OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR " +"OTHER\n" +"TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE " +"OF\n" +"THIS SOFTWARE." +msgstr "" + +msgid "Pixi packages" +msgstr "" + +msgid "" +"The Pixi package definitions found in :file:`Tools/pixi-packages` are " +"derived from https://github.com/conda-forge/python-feedstock which contains " +"the following license::" +msgstr "" + +msgid "" +"BSD-3-Clause license\n" +"Copyright (c) 2015-2026, conda-forge contributors\n" +"All rights reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions are met:\n" +"\n" +" 1. Redistributions of source code must retain the above copyright notice,\n" +" this list of conditions and the following disclaimer.\n" +" 2. Redistributions in binary form must reproduce the above copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +" 3. Neither the name of the copyright holder nor the names of its\n" +" contributors may be used to endorse or promote products derived from\n" +" this software without specific prior written permission.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS " +"IS\"\n" +"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" +"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n" +"ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR\n" +"ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" +"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n" +"SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n" +"CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n" +"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n" +"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\n" +"DAMAGE." +msgstr "" + +msgid "Unicode Character Database" +msgstr "" + +msgid "" +"An extract of the `Unicode Character Database `__, converted to an internal format, is used by the :mod:`unicodedata` " +"module and for the Unicode support of the :class:`str` type. The original " +"Unicode data files are distributed under the `Unicode License `__::" +msgstr "" + +msgid "" +"UNICODE LICENSE V3\n" +"\n" +"COPYRIGHT AND PERMISSION NOTICE\n" +"\n" +"Copyright © 1991-2026 Unicode, Inc.\n" +"\n" +"NOTICE TO USER: Carefully read the following legal agreement. BY\n" +"DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR\n" +"SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE\n" +"TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT\n" +"DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.\n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining a\n" +"copy of data files and any associated documentation (the \"Data Files\") or\n" +"software and any associated documentation (the \"Software\") to deal in the\n" +"Data Files or Software without restriction, including without limitation\n" +"the rights to use, copy, modify, merge, publish, distribute, and/or sell\n" +"copies of the Data Files or Software, and to permit persons to whom the\n" +"Data Files or Software are furnished to do so, provided that either (a)\n" +"this copyright and permission notice appear with all copies of the Data\n" +"Files or Software, or (b) this copyright and permission notice appear in\n" +"associated Documentation.\n" +"\n" +"THE DATA FILES AND SOFTWARE ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY\n" +"KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" +"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF\n" +"THIRD PARTY RIGHTS.\n" +"\n" +"IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE\n" +"BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,\n" +"OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\n" +"WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,\n" +"ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA\n" +"FILES OR SOFTWARE.\n" +"\n" +"Except as contained in this notice, the name of a copyright holder shall\n" +"not be used in advertising or otherwise to promote the sale, use or other\n" +"dealings in these Data Files or Software without prior written\n" +"authorization of the copyright holder." +msgstr "" diff --git a/sphinx.po b/sphinx.po new file mode 100644 index 000000000..5f9a77edc --- /dev/null +++ b/sphinx.po @@ -0,0 +1,417 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2026 +# Daniil Kolesnikov, 2026 +# Dmitry Luschan, 2026 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.15\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-08-21 14:26+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Dmitry Luschan, 2026\n" +"Language-Team: Russian (https://app.transifex.com/python-doc/teams/5390/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +msgid "Stable" +msgstr "Стабильный" + +msgid "In development" +msgstr "В разработке" + +msgid "This page" +msgstr "Эта страница" + +msgid "Report a bug" +msgstr "Сообщить об ошибке" + +msgid "Improve this page" +msgstr "Улучшить эту страницу" + +msgid "Show source" +msgstr "Показать исходный код" + +msgid "Show translation source" +msgstr "Показать исходный код перевода" + +msgid "Download" +msgstr "Скачать" + +msgid "Download Python %(dl_version)s documentation" +msgstr "Скачать документацию по Python %(dl_version)s" + +msgid "Last updated on: %(last_updated)s." +msgstr "Последнее обновление: %(last_updated)s." + +msgid "" +"Download an archive containing all the documentation for this version of " +"Python:" +msgstr "Скачать архив со всей документацией по этой версии Python:" + +msgid "Format" +msgstr "Формат" + +msgid "Packed as .zip" +msgstr "Упаковано как .zip" + +msgid "Packed as .tar.bz2" +msgstr "Упаковано как .tar.bz2." + +msgid "HTML" +msgstr "HTML" + +msgid "" +"Download" +msgstr "" +"Скачать" + +msgid "" +"Download" +msgstr "" +"Скачать" + +msgid "Plain text" +msgstr "Обычный текст" + +msgid "" +"Download" +msgstr "" +"Скачать" + +msgid "" +"Download" +msgstr "" +"Скачать" + +msgid "Texinfo" +msgstr "Texinfo" + +msgid "" +"Download" +msgstr "" +"Скачать" + +msgid "" +"Download" +msgstr "" +"Скачать" + +msgid "EPUB" +msgstr "EPUB" + +msgid "Download" +msgstr "Скачать" + +msgid "" +"\n" +"We no longer provide pre-built PDFs of the documentation.\n" +"To build a PDF archive, follow the instructions in the\n" +"Developer's Guide\n" +"and run make dist-pdf in the Doc/ directory of a " +"copy of the CPython repository.\n" +msgstr "" +"\n" +"Мы больше не предоставляем готовые PDF-файлы документации.\n" +"Чтобы создать PDF-архив следуйте инструкциям в\n" +"Руководстве для разработчиков\n" +"и выполните команду make dist-pdf в каталоге Doc/ " +"копии репозитория CPython.\n" + +msgid "" +"\n" +"See the directory " +"listing\n" +"for file sizes." +msgstr "" +"\n" +"См. список " +"каталогов,\n" +"чтобы узнать размеры файлов." + +msgid "Problems" +msgstr "Проблемы" + +msgid "" +"Open an issue\n" +"if you have comments or suggestions for the Python documentation." +msgstr "" +"Создайте обращение,\n" +"если у вас есть замечания или предложения по документации Python." + +msgid "Availability" +msgstr "Доступность" + +msgid "Part of the" +msgstr "Часть" + +msgid "Limited API" +msgstr "Ограниченный API" + +msgid "Stable ABI" +msgstr "Стабильный ABI" + +msgid "(as an opaque struct)" +msgstr "(как непрозрачная структура)" + +msgid "(including all members)" +msgstr "(включая всех участников)" + +msgid "since version %s" +msgstr "начиная с версии %s" + +msgid "(Only some members are part of the stable ABI.)" +msgstr "(Только некоторые элементы входят в стабильный ABI.)" + +msgid "This is" +msgstr "Это" + +msgid "Unstable API" +msgstr "Нестабильный API" + +msgid ". It may change without warning in minor releases." +msgstr ". Это может измениться без предупреждения в минорных выпусках." + +msgid "Return value: Always NULL." +msgstr "Возвращаемое значение: Всегда NULL." + +msgid "Return value: New reference." +msgstr "Возвращаемое значение: Новая ссылка." + +msgid "Return value: Borrowed reference." +msgstr "Возвращаемое значение: Заимствованная ссылка." + +msgid "CPython implementation detail:" +msgstr "Деталь реализации CPython:" + +msgid "Deprecated since version %s, will be removed in version %s" +msgstr "Устарело с версии %s, будет удалено в версии %s" + +msgid "Deprecated since version %s, removed in version %s" +msgstr "Устарело с версии %s, удалено в версии %s" + +msgid ":term:`Soft deprecated` since version %s" +msgstr ":term:`Слегка устарело` с версии %s" + +msgid "in development" +msgstr "в разработке" + +msgid "pre-release" +msgstr "пререлиз" + +msgid "stable" +msgstr "стабильный" + +msgid "security-fixes" +msgstr "исправления безопасности" + +msgid "EOL" +msgstr "EOL" + +msgid "Welcome! This is the official documentation for Python %(release)s." +msgstr "Добро пожаловать! Это официальная документация Python %(release)s." + +msgid "Documentation sections:" +msgstr "Разделы документации:" + +msgid "What's new in Python %(version)s?" +msgstr "Что нового в Python %(version)s?" + +msgid "" +"Or all \"What's new\" documents since Python " +"2.0" +msgstr "" +"Или все документы \"Что нового\", начиная с " +"Python 2.0" + +msgid "Tutorial" +msgstr "Руководство" + +msgid "Start here: a tour of Python's syntax and features" +msgstr "Начните здесь: обзор синтаксиса и возможностей Python" + +msgid "Library reference" +msgstr "Справочник по библиотеке" + +msgid "Standard library and builtins" +msgstr "Стандартная библиотека и встроенные функции" + +msgid "Language reference" +msgstr "Справочник по языку" + +msgid "Syntax and language elements" +msgstr "Синтаксис и элементы языка" + +msgid "Python setup and usage" +msgstr "Установка и использование Python" + +msgid "How to install, configure, and use Python" +msgstr "Как установить, настроить и использовать Python" + +msgid "Python HOWTOs" +msgstr "Практические руководства по Python" + +msgid "In-depth topic manuals" +msgstr "Подробные тематические руководства" + +msgid "Installing Python modules" +msgstr "Установка модулей Python" + +msgid "Third-party modules and PyPI.org" +msgstr "Сторонние модули и PyPI.org" + +msgid "Extending and embedding" +msgstr "Расширение и встраивание" + +msgid "For C/C++ programmers" +msgstr "Для программистов на C/C++" + +msgid "Python's C API" +msgstr "C API Python" + +msgid "C API reference" +msgstr "Справочник по C API" + +msgid "FAQs" +msgstr "ЧаВо" + +msgid "Frequently asked questions (with answers!)" +msgstr "Часто задаваемые вопросы (с ответами!)" + +msgid "Deprecations" +msgstr "Устаревшие возможности" + +msgid "Deprecated functionality" +msgstr "Функциональность, признанная устаревшей" + +msgid "Other resources:" +msgstr "Другие ресурсы:" + +msgid "Python developer's guide" +msgstr "Руководство разработчика Python" + +msgid "Information on contributing to Python" +msgstr "Информация об участии в разработке Python" + +msgid "Python Packaging User Guide" +msgstr "Руководство пользователя по пакетированию Python" + +msgid "Resources relating to Python packaging" +msgstr "Ресурсы по созданию и распространению пакетов Python" + +msgid "Audio/visual talks" +msgstr "Аудио- и видеоматериалы" + +msgid "Podcasts, talks, and video presentations from the community" +msgstr "Подкасты, выступления и видеопрезентации от участников сообщества" + +msgid "Python Enhancement Proposals" +msgstr "Предложения по улучшению Python" + +msgid "Index of proposed improvements to Python" +msgstr "Индекс предлагаемых улучшений Python" + +msgid "Static Typing with Python" +msgstr "Статическая типизация в Python" + +msgid "Information and guides about Python type safety" +msgstr "Информация и руководства по безопасности типов в Python" + +msgid "Indices, glossary, and search:" +msgstr "Индексы, глоссарий и поиск:" + +msgid "Global module index" +msgstr "Глобальный указатель модулей" + +msgid "All modules and libraries" +msgstr "Все модули и библиотеки" + +msgid "General index" +msgstr "Общий указатель" + +msgid "All functions, classes, and terms" +msgstr "Все функции, классы и термины" + +msgid "Glossary" +msgstr "Глоссарий" + +msgid "Terms explained" +msgstr "Объяснение терминов" + +msgid "Search page" +msgstr "Страница поиска" + +msgid "Search this documentation" +msgstr "Поиск по этой документации" + +msgid "Complete table of contents" +msgstr "Полное содержание" + +msgid "All sections and subsections" +msgstr "Все разделы и подразделы" + +msgid "Project information:" +msgstr "Информация о проекте:" + +msgid "Reporting issues" +msgstr "Сообщение о проблемах" + +msgid "Contributing to docs" +msgstr "Вклад в документацию" + +msgid "Download the documentation" +msgstr "Скачать документацию" + +msgid "History and license of Python" +msgstr "История и лицензия Python" + +msgid "Copyright" +msgstr "Авторские права" + +msgid "About the documentation" +msgstr "О документации" + +msgid "Docs by version" +msgstr "Документация по версиям" + +msgid "All versions" +msgstr "Все версии" + +msgid "" +"This document is for an old version of Python that is no longer supported.\n" +" You should upgrade, and read the" +msgstr "" +"Этот документ относится к старой версии Python, которая больше не " +"поддерживается.\n" +"Вам следует обновиться и прочитать" + +msgid "Python documentation for the current stable release" +msgstr "Документация Python для текущей стабильной версии" + +msgid "" +"This is a deploy preview created from a pull request.\n" +" For authoritative documentation, see" +msgstr "" +"Это предварительная версия документации, созданная на основе запроса на включение изменений.\n" +"Для официальной документации см." + +msgid "the current stable release" +msgstr "текущая стабильная версия"